diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24.compositional/plugin.xml
index 2bc5166..bdd9569 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.compositional/plugin.xml
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/plugin.xml
@@ -11,6 +11,126 @@
             metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
             metric_name="A">
       </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.tc"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.TC"
+            metric_context="Package"
+            metric_description="Total coupling: afferent coupling + efferent coupling"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="TC">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.i"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.I"
+            metric_context="Package"
+            metric_description="Ratio between efferent coupling and total coupling (instability)"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="I">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.ahf"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.AHF"
+            metric_context="Package"
+            metric_description="Attribute hiding factor"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="AHF">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.aif"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.AIF"
+            metric_context="Package"
+            metric_description="Attribute inheritance factor"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="AIF">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.ohf"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.OHF"
+            metric_context="Package"
+            metric_description="Operation hiding factor"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="OHF">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.oif"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.OIF"
+            metric_context="Package"
+            metric_description="Operation inheritance factor"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="OIF">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.navcp"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NAVCP"
+            metric_context="Package"
+            metric_description="Ratio between number of associations and number of classes within the package"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NAVCP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.ncap"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NCAP"
+            metric_context="Package"
+            metric_description="Number of classes and associations within the package"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NCAP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.ntctp"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NTCTP"
+            metric_context="Package"
+            metric_description="Number of times classes within the package are used as attribute and association end types from outside the package"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NTCTP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.nttcp"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NTTCP"
+            metric_context="Package"
+            metric_description="Number of times classes within the package use classes in other packages as attribute and association end type"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NTTCP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.nitrp"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NITRP"
+            metric_context="Package"
+            metric_description="Number of internal class type relationships within the package"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NITRP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.nicrp"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NICRP"
+            metric_context="Package"
+            metric_description="Number of internal relationships between classes within the package"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NICRP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.h"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.H"
+            metric_context="Package"
+            metric_description="Relational cohesion"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="H">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.ndcop"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NDCOP"
+            metric_context="Package"
+            metric_description="Number of dependencies of classes in other packages on classes within the package"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NDCOP">
+      </metric>
+      <metric
+            id="org.eclipse.emf.refactor.metrics.uml24.ndocp"
+            metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NDOCP"
+            metric_context="Package"
+            metric_description="Number of dependencies of classes within the package on classes in other packages"
+            metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML"
+            metric_name="NDOCP">
+      </metric>
    </extension>
    
    <extension
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/AHF.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/AHF.java
new file mode 100644
index 0000000..6dd8b88
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/AHF.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class AHF implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nnpatp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.natp";
+	
+	IOperation operation = Operations.getOperation("Division");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/AIF.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/AIF.java
new file mode 100644
index 0000000..8e51a5f
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/AIF.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class AIF implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.natip";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.tnatp";
+	
+	IOperation operation = Operations.getOperation("Division");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/H.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/H.java
new file mode 100644
index 0000000..d908068
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/H.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class H implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nicrp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.tncp";
+	
+	IOperation operation = Operations.getOperation("Division");
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+	
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/I.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/I.java
new file mode 100644
index 0000000..1ae8796
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/I.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class I implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.ce";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.tc";
+	
+	IOperation operation = Operations.getOperation("Division");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NAVCP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NAVCP.java
new file mode 100644
index 0000000..37355ee
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NAVCP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NAVCP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nasp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.tncp";
+	
+	IOperation operation = Operations.getOperation("Division");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NCAP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NCAP.java
new file mode 100644
index 0000000..8c86b9b
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NCAP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NCAP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nasp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.tncp";
+	
+	IOperation operation = Operations.getOperation("Sum");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NDCOP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NDCOP.java
new file mode 100644
index 0000000..930183a
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NDCOP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NDCOP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.ntctp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.nesubp";
+	
+	IOperation operation = Operations.getOperation("Sum");
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+	
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NDOCP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NDOCP.java
new file mode 100644
index 0000000..cac0d69
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NDOCP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NDOCP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nttcp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.nesupp";
+	
+	IOperation operation = Operations.getOperation("Sum");
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+	
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NICRP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NICRP.java
new file mode 100644
index 0000000..3618527
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NICRP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NICRP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nitrp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.nigp";
+	
+	IOperation operation = Operations.getOperation("Sum");
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+	
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NITRP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NITRP.java
new file mode 100644
index 0000000..c5a82ac
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NITRP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NITRP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.niatp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.niaep";
+	
+	IOperation operation = Operations.getOperation("Sum");
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+	
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NTCTP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NTCTP.java
new file mode 100644
index 0000000..48b4c61
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NTCTP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NTCTP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.neacp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.neaecp";
+	
+	IOperation operation = Operations.getOperation("Sum");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NTTCP.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NTTCP.java
new file mode 100644
index 0000000..8ed7ba8
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NTTCP.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class NTTCP implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.netap";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.naetop";
+	
+	IOperation operation = Operations.getOperation("Sum");
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+	
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/OHF.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/OHF.java
new file mode 100644
index 0000000..79d26f7
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/OHF.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class OHF implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nnpopp";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.nopp";
+	
+	IOperation operation = Operations.getOperation("Division");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/OIF.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/OIF.java
new file mode 100644
index 0000000..2c446e8
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/OIF.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class OIF implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.nopip";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.tnopp";
+	
+	IOperation operation = Operations.getOperation("Division");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TC.java b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TC.java
new file mode 100644
index 0000000..29ffc34
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.compositional/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TC.java
@@ -0,0 +1,37 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.core.Metric;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.interfaces.IOperation;
+import org.eclipse.emf.refactor.metrics.operations.Operations;
+
+public class TC implements IMetricCalculator {
+
+	private List<EObject> context;
+	private String metricID1 = "org.eclipse.emf.refactor.metrics.uml24.ca";
+	private String metricID2 = "org.eclipse.emf.refactor.metrics.uml24.ce";
+	
+	IOperation operation = Operations.getOperation("Sum");
+
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;	
+	}
+
+	@Override
+	public double calculate() {
+		Metric metric1 = Metric.getMetricInstanceFromId(metricID1);
+		Metric metric2 = Metric.getMetricInstanceFromId(metricID2);
+		
+		IMetricCalculator calc1 = metric1.getCalculateClass();
+		IMetricCalculator calc2 = metric2.getCalculateClass();
+			
+		calc1.setContext(this.context);
+		calc2.setContext(this.context);
+		return operation.calculate(calc1.calculate(),calc2.calculate());
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/.settings/org.eclipse.core.resources.prefs b/org.eclipse.emf.refactor.metrics.uml24.henshin/.settings/org.eclipse.core.resources.prefs
index a4ca92b..322ad1e 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.henshin/.settings/org.eclipse.core.resources.prefs
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/.settings/org.eclipse.core.resources.prefs
@@ -1,6 +1,14 @@
 eclipse.preferences.version=1
 encoding//transformations/ICParC.henshin_diagram=UTF-8
 encoding//transformations/ICParI.henshin_diagram=UTF-8
+encoding//transformations/NAETOP.henshin_diagram=UTF-8
 encoding//transformations/NASOC.henshin_diagram=UTF-8
+encoding//transformations/NEACP.henshin_diagram=UTF-8
+encoding//transformations/NEAECP.henshin_diagram=UTF-8
+encoding//transformations/NESUBP.henshin_diagram=UTF-8
+encoding//transformations/NESUPP.henshin_diagram=UTF-8
+encoding//transformations/NETAP.henshin_diagram=UTF-8
+encoding//transformations/NIAEP.henshin_diagram=UTF-8
+encoding//transformations/NIGP.henshin_diagram=UTF-8
 encoding//transformations/NNIACP.henshin=UTF-8
 encoding//transformations/NNIACP.henshin_diagram=UTF-8
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24.henshin/plugin.xml
index 8c6bfe1..c6ed755 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.henshin/plugin.xml
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/plugin.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <plugin>
+
 <extension point="org.eclipse.emf.refactor.metrics">
 	<metric 
 		id="org.eclipse.emf.refactor.metrics.uml24.nniacp" 
@@ -9,7 +10,72 @@
 		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
 		metric_name="NNIACP">
 	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.niaep" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NIAEP" 
+		metric_context="Package" 
+		metric_description="Number of internal navigable owned association end types within the package" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NIAEP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.nigp" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NIGP" 
+		metric_context="Package" 
+		metric_description="Number of internal generalization relationships within the package" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NIGP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.neacp" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NEACP" 
+		metric_context="Package" 
+		metric_description="Number of owned attributes in external classes typed by classes within the package" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NEACP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.neaecp" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NEAECP" 
+		metric_context="Package" 
+		metric_description="Number of external navigable owned association ends typed by classes within the package" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NEAECP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.naetop" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NAETOP" 
+		metric_context="Package" 
+		metric_description="Number of internal navigable owned association ends typed by classes in other packages" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NAETOP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.netap" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NETAP" 
+		metric_context="Package" 
+		metric_description="Number of attributes within the package typed by classes in other packages" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NETAP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.nesubp" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NESUBP" 
+		metric_context="Package" 
+		metric_description="Number of classes in other packages which are direct subclasses of classes within the package" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NESUBP">
+	</metric>
+	<metric 
+		id="org.eclipse.emf.refactor.metrics.uml24.nesupp" 
+		metric_calculate_class="org.eclipse.emf.refactor.metrics.umlpack.NESUPP" 
+		metric_context="Package" 
+		metric_description="Number of classes within the package which are direct subclasses of classes in other packages" 
+		metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+		metric_name="NESUPP">
+	</metric>
 </extension>
+
 <extension point="org.eclipse.emf.refactor.metrics">
 	<metric 
 		id="org.eclipse.emf.refactor.metrics.uml24.nasoc" 
@@ -36,4 +102,5 @@
 		metric_name="ICParI">
 	</metric>
 </extension>
+
 </plugin>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NAETOP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NAETOP.java
new file mode 100644
index 0000000..95644dd
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NAETOP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NAETOP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NAETOP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NEACP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NEACP.java
new file mode 100644
index 0000000..1bd59ce
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NEACP.java
@@ -0,0 +1,42 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NEACP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NEACP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NEAECP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NEAECP.java
new file mode 100644
index 0000000..96f6a24
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NEAECP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NEAECP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NEAECP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NESUBP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NESUBP.java
new file mode 100644
index 0000000..5e1797c
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NESUBP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NESUBP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NESUBP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NESUPP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NESUPP.java
new file mode 100644
index 0000000..e005660
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NESUPP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NESUPP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NESUPP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NETAP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NETAP.java
new file mode 100644
index 0000000..ef48cd9
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NETAP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NETAP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NETAP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NIAEP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NIAEP.java
new file mode 100644
index 0000000..533e5a6
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NIAEP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NIAEP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NIAEP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NIGP.java b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NIGP.java
new file mode 100644
index 0000000..bd83132
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/src/org/eclipse/emf/refactor/metrics/umlpack/NIGP.java
@@ -0,0 +1,43 @@
+package org.eclipse.emf.refactor.metrics.umlpack;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinManager;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.uml24.henshin.Activator;
+
+public class NIGP implements IMetricCalculator {
+
+	private String transformationPath = getFullPath("transformations/NIGP.henshin"); 
+	
+	private EObject context; 
+		
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context.get(0);
+	}	
+		
+	@Override
+	public double calculate() {
+		return HenshinManager.run(transformationPath, this.context);
+	}
+	
+	private String getFullPath(String transformationPath){
+		URL url = FileLocator.find(Activator.getDefault().getBundle(), new Path(transformationPath), Collections.EMPTY_MAP);
+		URL fileUrl = null;
+		try {
+			fileUrl = FileLocator.toFileURL(url);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+		return 	fileUrl.getPath();
+	}	
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NAETOP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NAETOP.henshin
new file mode 100644
index 0000000..12aa745
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NAETOP.henshin
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_yU5k0qH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_yU3voKH-EeObOe_NVdEHRg" incoming="_yU5k0qH-EeObOe_NVdEHRg" outgoing="_1r7yEKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association"/>
+      </nodes>
+      <nodes xmi:id="_yxWQQKH-EeObOe_NVdEHRg" incoming="_1r7yEKH-EeObOe_NVdEHRg" outgoing="_22-o4KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_zfQfIKH-EeObOe_NVdEHRg" incoming="_22-o4KH-EeObOe_NVdEHRg _f7B3QKIOEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_d4afQKIOEeOQIJJp0Esjjw" outgoing="_f7B3QKIOEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <edges xmi:id="_yU5k0qH-EeObOe_NVdEHRg" source="_DkM-4KH-EeObOe_NVdEHRg" target="_yU3voKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_1r7yEKH-EeObOe_NVdEHRg" source="_yU3voKH-EeObOe_NVdEHRg" target="_yxWQQKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association/navigableOwnedEnd"/>
+      </edges>
+      <edges xmi:id="_22-o4KH-EeObOe_NVdEHRg" source="_yxWQQKH-EeObOe_NVdEHRg" target="_zfQfIKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+      <edges xmi:id="_f7B3QKIOEeOQIJJp0Esjjw" source="_d4afQKIOEeOQIJJp0Esjjw" target="_zfQfIKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_yU5k06H-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_yU5k0KH-EeObOe_NVdEHRg" incoming="_yU5k06H-EeObOe_NVdEHRg" outgoing="_1r7yEaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association"/>
+      </nodes>
+      <nodes xmi:id="_yxWQQaH-EeObOe_NVdEHRg" incoming="_1r7yEaH-EeObOe_NVdEHRg" outgoing="_22_P8KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_zfQfIaH-EeObOe_NVdEHRg" incoming="_22_P8KH-EeObOe_NVdEHRg _f7B3QaIOEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_d4afQaIOEeOQIJJp0Esjjw" outgoing="_f7B3QaIOEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <edges xmi:id="_yU5k06H-EeObOe_NVdEHRg" source="_DkPbJKH-EeObOe_NVdEHRg" target="_yU5k0KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_1r7yEaH-EeObOe_NVdEHRg" source="_yU5k0KH-EeObOe_NVdEHRg" target="_yxWQQaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association/navigableOwnedEnd"/>
+      </edges>
+      <edges xmi:id="_22_P8KH-EeObOe_NVdEHRg" source="_yxWQQaH-EeObOe_NVdEHRg" target="_zfQfIaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+      <edges xmi:id="_f7B3QaIOEeOQIJJp0Esjjw" source="_d4afQaIOEeOQIJJp0Esjjw" target="_zfQfIaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_yU5k0aH-EeObOe_NVdEHRg" origin="_yU3voKH-EeObOe_NVdEHRg" image="_yU5k0KH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_yxW3UKH-EeObOe_NVdEHRg" origin="_yxWQQKH-EeObOe_NVdEHRg" image="_yxWQQaH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_zfQfIqH-EeObOe_NVdEHRg" origin="_zfQfIKH-EeObOe_NVdEHRg" image="_zfQfIaH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_d4afQqIOEeOQIJJp0Esjjw" origin="_d4afQKIOEeOQIJJp0Esjjw" image="_d4afQaIOEeOQIJJp0Esjjw"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NAETOP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NAETOP.henshin_diagram
new file mode 100644
index 0000000..cd9ef18
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NAETOP.henshin_diagram
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_XV3_UKIOEeOQIJJp0Esjjw" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_XXmdoKIOEeOQIJJp0Esjjw" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d4bGUqIOEeOQIJJp0Esjjw" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_d4bGU6IOEeOQIJJp0Esjjw" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XXmdoqIOEeOQIJJp0Esjjw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XXmdo6IOEeOQIJJp0Esjjw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_XXo54KIOEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXo54qIOEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXo546IOEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXo55KIOEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_XXo55aIOEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_XXo55qIOEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NAETOP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XXo54aIOEeOQIJJp0Esjjw" x="22" y="16"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_XXpg8KIOEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXpg8qIOEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXpg86IOEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXpg9KIOEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_XXpg9aIOEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_XXpg9qIOEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NAETOP.henshin#_yU3voKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XXpg8aIOEeOQIJJp0Esjjw" x="36" y="169"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_XXpg96IOEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXqIAKIOEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXqIAaIOEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXqIAqIOEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_XXqIA6IOEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_XXqIBKIOEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NAETOP.henshin#_yxWQQKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XXpg-KIOEeOQIJJp0Esjjw" x="280" y="169"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_XXqIBaIOEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXqIB6IOEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXqICKIOEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_XXqICaIOEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_XXqICqIOEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_XXqIC6IOEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NAETOP.henshin#_zfQfIKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XXqIBqIOEeOQIJJp0Esjjw" x="481" y="169"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_d4c7gKIOEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_d4c7gqIOEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_d4c7g6IOEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_d4c7hKIOEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_d4c7haIOEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_d4c7hqIOEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NAETOP.henshin#_d4afQKIOEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_d4c7gaIOEeOQIJJp0Esjjw" x="481" y="16"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NAETOP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XXmdoaIOEeOQIJJp0Esjjw" x="60" y="43" width="611" height="296"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_XV4mYKIOEeOQIJJp0Esjjw"/>
+  <element xmi:type="henshin:Module" href="NAETOP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_XX4KcKIOEeOQIJJp0Esjjw" type="4001" source="_XXo54KIOEeOQIJJp0Esjjw" target="_XXpg8KIOEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_XX4Kc6IOEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XX4KdKIOEeOQIJJp0Esjjw" x="-20" y="-73"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XX4KdaIOEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XX4KdqIOEeOQIJJp0Esjjw" x="13" y="-49"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_XX4KcaIOEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NAETOP.henshin#_yU5k0qH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XX4KcqIOEeOQIJJp0Esjjw" points="[-8, 26, 0, -125]$[-8, 125, 0, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_XX5YkKIOEeOQIJJp0Esjjw" type="4001" source="_XXpg8KIOEeOQIJJp0Esjjw" target="_XXpg96IOEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_XX5Yk6IOEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XX5_oKIOEeOQIJJp0Esjjw" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XX5_oaIOEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XX5_oqIOEeOQIJJp0Esjjw" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_XX5YkaIOEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NAETOP.henshin#_1r7yEKH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XX5YkqIOEeOQIJJp0Esjjw" points="[6, 26, 0, 16]$[0, -16, -6, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_XX5_o6IOEeOQIJJp0Esjjw" type="4001" source="_XXpg96IOEeOQIJJp0Esjjw" target="_XXqIBaIOEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_XX6msKIOEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XX6msaIOEeOQIJJp0Esjjw" x="-2" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XX6msqIOEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XX6ms6IOEeOQIJJp0Esjjw" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_XX5_pKIOEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NAETOP.henshin#_22-o4KH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XX5_paIOEeOQIJJp0Esjjw" points="[26, 26, 16, 16]$[-16, -16, -26, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_f7DFYKIOEeOQIJJp0Esjjw" type="4001" source="_d4c7gKIOEeOQIJJp0Esjjw" target="_XXqIBaIOEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_f7DFY6IOEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_f7DscKIOEeOQIJJp0Esjjw" x="-16" y="74"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_f7DscaIOEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_f7DscqIOEeOQIJJp0Esjjw" x="10" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_f7DFYaIOEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NAETOP.henshin#_f7B3QKIOEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f7DFYqIOEeOQIJJp0Esjjw" points="[-12, 26, 53, -101]$[-27, 120, 38, -7]"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEACP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEACP.henshin
new file mode 100644
index 0000000..25d65f4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEACP.henshin
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_5g8B0KILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_5g5lkKILEeOQIJJp0Esjjw" incoming="_5g8B0KILEeOQIJJp0Esjjw _CU38oKIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_6HcoMKILEeOQIJJp0Esjjw" outgoing="_AmE4gKIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_6zEYEKILEeOQIJJp0Esjjw" incoming="_AmE4gKIMEeOQIJJp0Esjjw" outgoing="_BzBz0KIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_7jjZ0KILEeOQIJJp0Esjjw" incoming="_BzBz0KIMEeOQIJJp0Esjjw" outgoing="_CU38oKIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <edges xmi:id="_5g8B0KILEeOQIJJp0Esjjw" source="_DkM-4KH-EeObOe_NVdEHRg" target="_5g5lkKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_AmE4gKIMEeOQIJJp0Esjjw" source="_6HcoMKILEeOQIJJp0Esjjw" target="_6zEYEKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_BzBz0KIMEeOQIJJp0Esjjw" source="_6zEYEKILEeOQIJJp0Esjjw" target="_7jjZ0KILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+      </edges>
+      <edges xmi:id="_CU38oKIMEeOQIJJp0Esjjw" source="_7jjZ0KILEeOQIJJp0Esjjw" target="_5g5lkKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_5g8B0aILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_5g6zsKILEeOQIJJp0Esjjw" incoming="_5g8B0aILEeOQIJJp0Esjjw _CU38oaIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_6HcoMaILEeOQIJJp0Esjjw" outgoing="_AmE4gaIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_6zEYEaILEeOQIJJp0Esjjw" incoming="_AmE4gaIMEeOQIJJp0Esjjw" outgoing="_BzBz0aIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_7jjZ0aILEeOQIJJp0Esjjw" incoming="_BzBz0aIMEeOQIJJp0Esjjw" outgoing="_CU38oaIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <edges xmi:id="_5g8B0aILEeOQIJJp0Esjjw" source="_DkPbJKH-EeObOe_NVdEHRg" target="_5g6zsKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_AmE4gaIMEeOQIJJp0Esjjw" source="_6HcoMaILEeOQIJJp0Esjjw" target="_6zEYEaILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_BzBz0aIMEeOQIJJp0Esjjw" source="_6zEYEaILEeOQIJJp0Esjjw" target="_7jjZ0aILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+      </edges>
+      <edges xmi:id="_CU38oaIMEeOQIJJp0Esjjw" source="_7jjZ0aILEeOQIJJp0Esjjw" target="_5g6zsKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_5g6zsaILEeOQIJJp0Esjjw" origin="_5g5lkKILEeOQIJJp0Esjjw" image="_5g6zsKILEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_6HdPQKILEeOQIJJp0Esjjw" origin="_6HcoMKILEeOQIJJp0Esjjw" image="_6HcoMaILEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_6zEYEqILEeOQIJJp0Esjjw" origin="_6zEYEKILEeOQIJJp0Esjjw" image="_6zEYEaILEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_7jjZ0qILEeOQIJJp0Esjjw" origin="_7jjZ0KILEeOQIJJp0Esjjw" image="_7jjZ0aILEeOQIJJp0Esjjw"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEACP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEACP.henshin_diagram
new file mode 100644
index 0000000..2a1ecec
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEACP.henshin_diagram
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_w38ywKILEeOQIJJp0Esjjw" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_xI6m8KILEeOQIJJp0Esjjw" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5g8o4KILEeOQIJJp0Esjjw" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5g8o4aILEeOQIJJp0Esjjw" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_xI9DMKILEeOQIJJp0Esjjw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_xI9DMaILEeOQIJJp0Esjjw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_xLidIKILEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_xLidIqILEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_xLjEMKILEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_xLjrQKILEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_xLjrQaILEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_xLjrQqILEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEACP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xLidIaILEeOQIJJp0Esjjw" x="31" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_5hCvgKILEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_5hCvgqILEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_5hCvg6ILEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_5hDWkKILEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_5hDWkaILEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_5hDWkqILEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEACP.henshin#_5g5lkKILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5hCvgaILEeOQIJJp0Esjjw" x="49" y="193"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6HfEcKILEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_6HfrgKILEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6HfrgaILEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6HfrgqILEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_6Hfrg6ILEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_6HfrhKILEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEACP.henshin#_6HcoMKILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6HfEcaILEeOQIJJp0Esjjw" x="470" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6zG0UKILEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_6zHbYKILEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6zHbYaILEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_6zHbYqILEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_6zHbY6ILEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_6zHbZKILEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEACP.henshin#_6zEYEKILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6zG0UaILEeOQIJJp0Esjjw" x="470" y="193"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_7jl2EKILEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_7jl2EqILEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_7jl2E6ILEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_7jmdIKILEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_7jmdIaILEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_7jmdIqILEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEACP.henshin#_7jjZ0KILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7jl2EaILEeOQIJJp0Esjjw" x="258" y="193"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NEACP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xI6m8aILEeOQIJJp0Esjjw" x="41" y="34" width="599" height="319"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_w38ywaILEeOQIJJp0Esjjw"/>
+  <element xmi:type="henshin:Module" href="NEACP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_5hT1QKILEeOQIJJp0Esjjw" type="4001" source="_xLidIKILEeOQIJJp0Esjjw" target="_5hCvgKILEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5hUcUKILEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5hUcUaILEeOQIJJp0Esjjw" x="20" y="-81"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5hUcUqILEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5hUcU6ILEeOQIJJp0Esjjw" x="-11" y="-53"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5hT1QaILEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEACP.henshin#_5g8B0KILEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5hT1QqILEeOQIJJp0Esjjw" points="[-44, -26, 109, 65]$[-153, -91, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AmGtsKIMEeOQIJJp0Esjjw" type="4001" source="_6HfEcKILEeOQIJJp0Esjjw" target="_6zG0UKILEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_AmIi4aIMEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AmIi4qIMEeOQIJJp0Esjjw" x="-5" y="79"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AmIi46IMEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AmIi5KIMEeOQIJJp0Esjjw" x="-31" y="57"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AmH70KIMEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEACP.henshin#_AmE4gKIMEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AmIi4KIMEeOQIJJp0Esjjw" points="[2, 26, -6, -146]$[2, 146, -6, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_BzFeMKIMEeOQIJJp0Esjjw" type="4001" source="_6zG0UKILEeOQIJJp0Esjjw" target="_7jl2EKILEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_BzGFQqIMEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BzGFQ6IMEeOQIJJp0Esjjw" x="-1" y="16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_BzGFRKIMEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BzGFRaIMEeOQIJJp0Esjjw" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_BzGFQKIMEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEACP.henshin#_BzBz0KIMEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BzGFQaIMEeOQIJJp0Esjjw" points="[-27, 26, 120, -125]$[-141, 125, 6, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_CU5KwKIMEeOQIJJp0Esjjw" type="4001" source="_7jl2EKILEeOQIJJp0Esjjw" target="_5hCvgKILEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CU5x0KIMEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CU5x0aIMEeOQIJJp0Esjjw" x="-2" y="16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CU5x0qIMEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_CU5x06IMEeOQIJJp0Esjjw" x="-2" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_CU5KwaIMEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEACP.henshin#_CU38oKIMEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CU5KwqIMEeOQIJJp0Esjjw" points="[-13, -7, 317, 130]$[-292, -146, 38, -9]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CU-DQKIMEeOQIJJp0Esjjw" id="(0.17105263157894737,0.5576923076923077)"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEAECP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEAECP.henshin
new file mode 100644
index 0000000..9100d01
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEAECP.henshin
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_5g8B0KILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_5g5lkKILEeOQIJJp0Esjjw" incoming="_5g8B0KILEeOQIJJp0Esjjw _CU38oKIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_6HcoMKILEeOQIJJp0Esjjw" outgoing="_0YE_sKINEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_7jjZ0KILEeOQIJJp0Esjjw" incoming="_1co0AKINEeOQIJJp0Esjjw" outgoing="_CU38oKIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_w-oXoKINEeOQIJJp0Esjjw" incoming="_0YE_sKINEeOQIJJp0Esjjw" outgoing="_1co0AKINEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association"/>
+      </nodes>
+      <edges xmi:id="_5g8B0KILEeOQIJJp0Esjjw" source="_DkM-4KH-EeObOe_NVdEHRg" target="_5g5lkKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_CU38oKIMEeOQIJJp0Esjjw" source="_7jjZ0KILEeOQIJJp0Esjjw" target="_5g5lkKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+      <edges xmi:id="_0YE_sKINEeOQIJJp0Esjjw" source="_6HcoMKILEeOQIJJp0Esjjw" target="_w-oXoKINEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_1co0AKINEeOQIJJp0Esjjw" source="_w-oXoKINEeOQIJJp0Esjjw" target="_7jjZ0KILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association/navigableOwnedEnd"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_5g8B0aILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_5g6zsKILEeOQIJJp0Esjjw" incoming="_5g8B0aILEeOQIJJp0Esjjw _CU38oaIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_6HcoMaILEeOQIJJp0Esjjw" outgoing="_0YFmwKINEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_7jjZ0aILEeOQIJJp0Esjjw" incoming="_1cpbEKINEeOQIJJp0Esjjw" outgoing="_CU38oaIMEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_w-oXoaINEeOQIJJp0Esjjw" incoming="_0YFmwKINEeOQIJJp0Esjjw" outgoing="_1cpbEKINEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association"/>
+      </nodes>
+      <edges xmi:id="_5g8B0aILEeOQIJJp0Esjjw" source="_DkPbJKH-EeObOe_NVdEHRg" target="_5g6zsKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_CU38oaIMEeOQIJJp0Esjjw" source="_7jjZ0aILEeOQIJJp0Esjjw" target="_5g6zsKILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+      <edges xmi:id="_0YFmwKINEeOQIJJp0Esjjw" source="_6HcoMaILEeOQIJJp0Esjjw" target="_w-oXoaINEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_1cpbEKINEeOQIJJp0Esjjw" source="_w-oXoaINEeOQIJJp0Esjjw" target="_7jjZ0aILEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association/navigableOwnedEnd"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_5g6zsaILEeOQIJJp0Esjjw" origin="_5g5lkKILEeOQIJJp0Esjjw" image="_5g6zsKILEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_6HdPQKILEeOQIJJp0Esjjw" origin="_6HcoMKILEeOQIJJp0Esjjw" image="_6HcoMaILEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_7jjZ0qILEeOQIJJp0Esjjw" origin="_7jjZ0KILEeOQIJJp0Esjjw" image="_7jjZ0aILEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_w-oXoqINEeOQIJJp0Esjjw" origin="_w-oXoKINEeOQIJJp0Esjjw" image="_w-oXoaINEeOQIJJp0Esjjw"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEAECP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEAECP.henshin_diagram
new file mode 100644
index 0000000..6ab37c4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NEAECP.henshin_diagram
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_nPwekKINEeOQIJJp0Esjjw" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_nRxQwKINEeOQIJJp0Esjjw" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_w-o-sqINEeOQIJJp0Esjjw" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_w-o-s6INEeOQIJJp0Esjjw" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nRxQwqINEeOQIJJp0Esjjw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nRxQw6INEeOQIJJp0Esjjw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_nR0UEKINEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR0UEqINEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR0UE6INEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR0UFKINEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_nR0UFaINEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_nR0UFqINEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEAECP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nR0UEaINEeOQIJJp0Esjjw" x="25" y="14"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_nR07IKINEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR07IqINEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR07I6INEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR07JKINEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_nR07JaINEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_nR07JqINEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEAECP.henshin#_5g5lkKILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nR07IaINEeOQIJJp0Esjjw" x="43" y="195"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_nR1iMKINEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR1iMqINEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR1iM6INEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR1iNKINEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_nR1iNaINEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_nR1iNqINEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEAECP.henshin#_6HcoMKILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nR1iMaINEeOQIJJp0Esjjw" x="497" y="14"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_nR2wUKINEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR2wUqINEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR2wU6INEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_nR2wVKINEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_nR2wVaINEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_nR2wVqINEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEAECP.henshin#_7jjZ0KILEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nR2wUaINEeOQIJJp0Esjjw" x="223" y="195"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_w-qz4KINEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_w-ra8KINEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_w-ra8aINEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_w-ra8qINEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_w-ra86INEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_w-ra9KINEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NEAECP.henshin#_w-oXoKINEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-qz4aINEeOQIJJp0Esjjw" x="493" y="195"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NEAECP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nRxQwaINEeOQIJJp0Esjjw" x="86" y="48" width="619" height="314"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_nPxFoKINEeOQIJJp0Esjjw"/>
+  <element xmi:type="henshin:Module" href="NEAECP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_nSwvQKINEeOQIJJp0Esjjw" type="4001" source="_nR0UEKINEeOQIJJp0Esjjw" target="_nR07IKINEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nSwvQ6INEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nSwvRKINEeOQIJJp0Esjjw" x="6" y="-76"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nSwvRaINEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nSwvRqINEeOQIJJp0Esjjw" x="-24" y="-48"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_nSwvQaINEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEAECP.henshin#_5g8B0KILEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nSwvQqINEeOQIJJp0Esjjw" points="[-7, 26, 0, 16]$[0, -16, 7, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_nSzykKINEeOQIJJp0Esjjw" type="4001" source="_nR2wUKINEeOQIJJp0Esjjw" target="_nR07IKINEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nSzyk6INEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nSzylKINEeOQIJJp0Esjjw" y="21"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nSzylaINEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nSzylqINEeOQIJJp0Esjjw" y="-21"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_nSzykaINEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEAECP.henshin#_CU38oKIMEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nSzykqINEeOQIJJp0Esjjw" points="[-26, -26, 4, 4]$[-4, -4, 26, 26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_0YG04KINEeOQIJJp0Esjjw" type="4001" source="_nR1iMKINEeOQIJJp0Esjjw" target="_w-qz4KINEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0YG046INEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0YG05KINEeOQIJJp0Esjjw" x="4" y="84"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0YHb8KINEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0YHb8aINEeOQIJJp0Esjjw" x="-24" y="77"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_0YG04aINEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEAECP.henshin#_0YE_sKINEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0YG04qINEeOQIJJp0Esjjw" points="[-4, 26, 19, -145]$[-25, 145, -2, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_1cqpMKINEeOQIJJp0Esjjw" type="4001" source="_w-qz4KINEeOQIJJp0Esjjw" target="_nR2wUKINEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_1cqpM6INEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_1cqpNKINEeOQIJJp0Esjjw" y="22"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_1cqpNaINEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_1cqpNqINEeOQIJJp0Esjjw" x="2" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_1cqpMaINEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NEAECP.henshin#_1co0AKINEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1cqpMqINEeOQIJJp0Esjjw" points="[-9, 26, 62, -145]$[-33, 145, 38, -26]"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUBP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUBP.henshin
new file mode 100644
index 0000000..879ecf3
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUBP.henshin
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_IQujIKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_Hj2PAKIkEeOQIJJp0Esjjw" outgoing="_Lz69EKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_IQt8EKIkEeOQIJJp0Esjjw" incoming="_IQujIKIkEeOQIJJp0Esjjw _NANKAKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_IxUuwKIkEeOQIJJp0Esjjw" incoming="_Lz69EKIkEeOQIJJp0Esjjw" outgoing="_MbesUKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_JMpY0KIkEeOQIJJp0Esjjw" incoming="_MbesUKIkEeOQIJJp0Esjjw" outgoing="_NANKAKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
+      </nodes>
+      <edges xmi:id="_IQujIKIkEeOQIJJp0Esjjw" source="_DkM-4KH-EeObOe_NVdEHRg" target="_IQt8EKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_Lz69EKIkEeOQIJJp0Esjjw" source="_Hj2PAKIkEeOQIJJp0Esjjw" target="_IxUuwKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_MbesUKIkEeOQIJJp0Esjjw" source="_IxUuwKIkEeOQIJJp0Esjjw" target="_JMpY0KIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+      </edges>
+      <edges xmi:id="_NANKAKIkEeOQIJJp0Esjjw" source="_JMpY0KIkEeOQIJJp0Esjjw" target="_IQt8EKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_IQujIaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_Hj4EMKIkEeOQIJJp0Esjjw" outgoing="_Lz69EaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_IQt8EaIkEeOQIJJp0Esjjw" incoming="_IQujIaIkEeOQIJJp0Esjjw _NANKAaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_IxUuwaIkEeOQIJJp0Esjjw" incoming="_Lz69EaIkEeOQIJJp0Esjjw" outgoing="_MbesUaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_JMpY0aIkEeOQIJJp0Esjjw" incoming="_MbesUaIkEeOQIJJp0Esjjw" outgoing="_NANKAaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
+      </nodes>
+      <edges xmi:id="_IQujIaIkEeOQIJJp0Esjjw" source="_DkPbJKH-EeObOe_NVdEHRg" target="_IQt8EaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_Lz69EaIkEeOQIJJp0Esjjw" source="_Hj4EMKIkEeOQIJJp0Esjjw" target="_IxUuwaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_MbesUaIkEeOQIJJp0Esjjw" source="_IxUuwaIkEeOQIJJp0Esjjw" target="_JMpY0aIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+      </edges>
+      <edges xmi:id="_NANKAaIkEeOQIJJp0Esjjw" source="_JMpY0aIkEeOQIJJp0Esjjw" target="_IQt8EaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_Hj4EMaIkEeOQIJJp0Esjjw" origin="_Hj2PAKIkEeOQIJJp0Esjjw" image="_Hj4EMKIkEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_IQt8EqIkEeOQIJJp0Esjjw" origin="_IQt8EKIkEeOQIJJp0Esjjw" image="_IQt8EaIkEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_IxUuwqIkEeOQIJJp0Esjjw" origin="_IxUuwKIkEeOQIJJp0Esjjw" image="_IxUuwaIkEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_JMpY0qIkEeOQIJJp0Esjjw" origin="_JMpY0KIkEeOQIJJp0Esjjw" image="_JMpY0aIkEeOQIJJp0Esjjw"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUBP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUBP.henshin_diagram
new file mode 100644
index 0000000..57a9f8d
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUBP.henshin_diagram
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_Fx_P0KIkEeOQIJJp0Esjjw" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_F1U3sKIkEeOQIJJp0Esjjw" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Hj4ENKIkEeOQIJJp0Esjjw" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Hj4ENaIkEeOQIJJp0Esjjw" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_F1VewKIkEeOQIJJp0Esjjw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_F1VewaIkEeOQIJJp0Esjjw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_F1XT8KIkEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_F1XT8qIkEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_F1XT86IkEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_F1XT9KIkEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_F1XT9aIkEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_F1XT9qIkEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUBP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F1XT8aIkEeOQIJJp0Esjjw" x="25" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Hj7HgKIkEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Hj7HgqIkEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Hj7Hg6IkEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Hj7HhKIkEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_Hj7HhaIkEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_Hj7HhqIkEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUBP.henshin#_Hj2PAKIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hj7HgaIkEeOQIJJp0Esjjw" x="451" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_IQvxQKIkEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_IQvxQqIkEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_IQwYUKIkEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_IQwYUaIkEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_IQwYUqIkEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_IQwYU6IkEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUBP.henshin#_IQt8EKIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IQvxQaIkEeOQIJJp0Esjjw" x="43" y="164"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_IxWj8KIkEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_IxWj8qIkEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_IxWj86IkEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_IxWj9KIkEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_IxWj9aIkEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_IxWj9qIkEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUBP.henshin#_IxUuwKIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IxWj8aIkEeOQIJJp0Esjjw" x="451" y="164"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JMrOAKIkEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_JMrOAqIkEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_JMrOA6IkEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_JMrOBKIkEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_JMrOBaIkEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_JMrOBqIkEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUBP.henshin#_JMpY0KIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JMrOAaIkEeOQIJJp0Esjjw" x="224" y="164"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NESUBP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F1U3saIkEeOQIJJp0Esjjw" x="56" y="30" width="583" height="272"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_Fx_P0aIkEeOQIJJp0Esjjw"/>
+  <element xmi:type="henshin:Module" href="NESUBP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_IQ0CsKIkEeOQIJJp0Esjjw" type="4001" source="_F1XT8KIkEeOQIJJp0Esjjw" target="_IQvxQKIkEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_IQ0Cs6IkEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IQ0CtKIkEeOQIJJp0Esjjw" x="15" y="-82"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_IQ0CtaIkEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_IQ0CtqIkEeOQIJJp0Esjjw" x="-13" y="-54"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_IQ0CsaIkEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUBP.henshin#_IQujIKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IQ0CsqIkEeOQIJJp0Esjjw" points="[-53, -26, 87, 43]$[-140, -69, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Lz8LMKIkEeOQIJJp0Esjjw" type="4001" source="_Hj7HgKIkEeOQIJJp0Esjjw" target="_IxWj8KIkEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Lz8LM6IkEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Lz8LNKIkEeOQIJJp0Esjjw" x="-25" y="89"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Lz8LNaIkEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Lz8LNqIkEeOQIJJp0Esjjw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Lz8LMaIkEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUBP.henshin#_Lz69EKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lz8LMqIkEeOQIJJp0Esjjw" points="[2, 26, -19, -145]$[16, 145, -5, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Mbf6cKIkEeOQIJJp0Esjjw" type="4001" source="_IxWj8KIkEeOQIJJp0Esjjw" target="_JMrOAKIkEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_MbghgKIkEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_MbghgaIkEeOQIJJp0Esjjw" x="-4" y="21"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_MbghgqIkEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Mbghg6IkEeOQIJJp0Esjjw" x="1" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Mbf6caIkEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUBP.henshin#_MbesUKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mbf6cqIkEeOQIJJp0Esjjw" points="[-23, 18, 175, -136]$[-155, 128, 43, -26]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mbi9wKIkEeOQIJJp0Esjjw" id="(0.10526315789473684,0.4230769230769231)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_NAOYIKIkEeOQIJJp0Esjjw" type="4001" source="_JMrOAKIkEeOQIJJp0Esjjw" target="_IQvxQKIkEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_NAO_MKIkEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_NAO_MaIkEeOQIJJp0Esjjw" x="1" y="16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_NAO_MqIkEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_NAO_M6IkEeOQIJJp0Esjjw" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_NAOYIaIkEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUBP.henshin#_NANKAKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NAOYIqIkEeOQIJJp0Esjjw" points="[-20, -11, 216, 109]$[-230, -146, 6, -26]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NASCgKIkEeOQIJJp0Esjjw" id="(0.19230769230769232,0.5)"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUPP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUPP.henshin
new file mode 100644
index 0000000..0980571
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUPP.henshin
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" outgoing="_IQujIKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_Hj2PAKIkEeOQIJJp0Esjjw" name="context" outgoing="_Lz69EKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_IQt8EKIkEeOQIJJp0Esjjw" incoming="_IQujIKIkEeOQIJJp0Esjjw _NANKAKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_IxUuwKIkEeOQIJJp0Esjjw" incoming="_Lz69EKIkEeOQIJJp0Esjjw" outgoing="_MbesUKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_JMpY0KIkEeOQIJJp0Esjjw" incoming="_MbesUKIkEeOQIJJp0Esjjw" outgoing="_NANKAKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
+      </nodes>
+      <edges xmi:id="_IQujIKIkEeOQIJJp0Esjjw" source="_DkM-4KH-EeObOe_NVdEHRg" target="_IQt8EKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_Lz69EKIkEeOQIJJp0Esjjw" source="_Hj2PAKIkEeOQIJJp0Esjjw" target="_IxUuwKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_MbesUKIkEeOQIJJp0Esjjw" source="_IxUuwKIkEeOQIJJp0Esjjw" target="_JMpY0KIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+      </edges>
+      <edges xmi:id="_NANKAKIkEeOQIJJp0Esjjw" source="_JMpY0KIkEeOQIJJp0Esjjw" target="_IQt8EKIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" outgoing="_IQujIaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_Hj4EMKIkEeOQIJJp0Esjjw" name="context" outgoing="_Lz69EaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_IQt8EaIkEeOQIJJp0Esjjw" incoming="_IQujIaIkEeOQIJJp0Esjjw _NANKAaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_IxUuwaIkEeOQIJJp0Esjjw" incoming="_Lz69EaIkEeOQIJJp0Esjjw" outgoing="_MbesUaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_JMpY0aIkEeOQIJJp0Esjjw" incoming="_MbesUaIkEeOQIJJp0Esjjw" outgoing="_NANKAaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
+      </nodes>
+      <edges xmi:id="_IQujIaIkEeOQIJJp0Esjjw" source="_DkPbJKH-EeObOe_NVdEHRg" target="_IQt8EaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_Lz69EaIkEeOQIJJp0Esjjw" source="_Hj4EMKIkEeOQIJJp0Esjjw" target="_IxUuwaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_MbesUaIkEeOQIJJp0Esjjw" source="_IxUuwaIkEeOQIJJp0Esjjw" target="_JMpY0aIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+      </edges>
+      <edges xmi:id="_NANKAaIkEeOQIJJp0Esjjw" source="_JMpY0aIkEeOQIJJp0Esjjw" target="_IQt8EaIkEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_Hj4EMaIkEeOQIJJp0Esjjw" origin="_Hj2PAKIkEeOQIJJp0Esjjw" image="_Hj4EMKIkEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_IQt8EqIkEeOQIJJp0Esjjw" origin="_IQt8EKIkEeOQIJJp0Esjjw" image="_IQt8EaIkEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_IxUuwqIkEeOQIJJp0Esjjw" origin="_IxUuwKIkEeOQIJJp0Esjjw" image="_IxUuwaIkEeOQIJJp0Esjjw"/>
+    <mappings xmi:id="_JMpY0qIkEeOQIJJp0Esjjw" origin="_JMpY0KIkEeOQIJJp0Esjjw" image="_JMpY0aIkEeOQIJJp0Esjjw"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUPP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUPP.henshin_diagram
new file mode 100644
index 0000000..ace680a
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NESUPP.henshin_diagram
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_kMKcMKKFEeOQIJJp0Esjjw" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_kQj0AKKFEeOQIJJp0Esjjw" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQj0AqKFEeOQIJJp0Esjjw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQj0A6KFEeOQIJJp0Esjjw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_kQlpMKKFEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQlpMqKFEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQlpM6KFEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQlpNKKFEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_kQlpNaKFEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_kQlpNqKFEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUPP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQlpMaKFEeOQIJJp0Esjjw" x="32" y="25"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kQmQQKKFEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQmQQqKFEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQmQQ6KFEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQmQRKKFEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_kQmQRaKFEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_kQmQRqKFEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUPP.henshin#_Hj2PAKIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQmQQaKFEeOQIJJp0Esjjw" x="432" y="25"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kQmQR6KFEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQmQSaKFEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQm3UKKFEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQm3UaKFEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_kQm3UqKFEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_kQm3U6KFEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUPP.henshin#_IQt8EKIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQmQSKKFEeOQIJJp0Esjjw" x="32" y="160"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kQm3VKKFEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQm3VqKFEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQm3V6KFEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQm3WKKFEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_kQm3WaKFEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_kQm3WqKFEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUPP.henshin#_IxUuwKIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQm3VaKFEeOQIJJp0Esjjw" x="450" y="160"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_kQneYKKFEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQneYqKFEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQneY6KFEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_kQneZKKFEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_kQneZaKFEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_kQneZqKFEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NESUPP.henshin#_JMpY0KIkEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQneYaKFEeOQIJJp0Esjjw" x="219" y="160"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NESUPP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQj0AaKFEeOQIJJp0Esjjw" x="40" y="34" width="571" height="293"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_kMKcMaKFEeOQIJJp0Esjjw"/>
+  <element xmi:type="henshin:Module" href="NESUPP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_kQ2H4KKFEeOQIJJp0Esjjw" type="4001" source="_kQlpMKKFEeOQIJJp0Esjjw" target="_kQmQR6KFEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ2H46KFEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ2H5KKFEeOQIJJp0Esjjw" x="17" y="-72"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ2H5aKFEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ2H5qKFEeOQIJJp0Esjjw" x="-5" y="-51"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_kQ2H4aKFEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUPP.henshin#_IQujIKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQ2H4qKFEeOQIJJp0Esjjw" points="[3, 26, 0, 6]$[0, -6, -3, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kQ2u8KKFEeOQIJJp0Esjjw" type="4001" source="_kQmQQKKFEeOQIJJp0Esjjw" target="_kQm3VKKFEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ2u86KFEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ2u9KKFEeOQIJJp0Esjjw" x="9" y="71"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ2u9aKFEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ2u9qKFEeOQIJJp0Esjjw" x="-10" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_kQ2u8aKFEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUPP.henshin#_Lz69EKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQ2u8qKFEeOQIJJp0Esjjw" points="[26, 26, 6, 6]$[-6, -6, -26, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kQ3WAKKFEeOQIJJp0Esjjw" type="4001" source="_kQm3VKKFEeOQIJJp0Esjjw" target="_kQneYKKFEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ3WA6KFEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ39EKKFEeOQIJJp0Esjjw" x="-2" y="16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ39EaKFEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ39EqKFEeOQIJJp0Esjjw" x="-2" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_kQ3WAaKFEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUPP.henshin#_MbesUKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQ3WAqKFEeOQIJJp0Esjjw" points="[38, 15, 14, 5]$[-28, -12, -52, -22]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kQ39E6KFEeOQIJJp0Esjjw" type="4001" source="_kQneYKKFEeOQIJJp0Esjjw" target="_kQmQR6KFEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ4kIKKFEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ4kIaKFEeOQIJJp0Esjjw" x="-1" y="16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kQ4kIqKFEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_kQ4kI6KFEeOQIJJp0Esjjw" x="-5" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_kQ39FKKFEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NESUPP.henshin#_NANKAKIkEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQ39FaKFEeOQIJJp0Esjjw" points="[-45, -26, -11, -6]$[4, 2, 38, 22]"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NETAP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NETAP.henshin
new file mode 100644
index 0000000..4e17abe
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NETAP.henshin
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_zfQfI6H-EeObOe_NVdEHRg _5uPu8KIUEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_yxWQQKH-EeObOe_NVdEHRg" incoming="_7Ti40KIUEeOQIJJp0Esjjw" outgoing="_22-o4KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_zfQfIKH-EeObOe_NVdEHRg" incoming="_zfQfI6H-EeObOe_NVdEHRg _22-o4KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_5uPH4KIUEeOQIJJp0Esjjw" incoming="_5uPu8KIUEeOQIJJp0Esjjw" outgoing="_7Ti40KIUEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <edges xmi:id="_zfQfI6H-EeObOe_NVdEHRg" source="_DkM-4KH-EeObOe_NVdEHRg" target="_zfQfIKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_22-o4KH-EeObOe_NVdEHRg" source="_yxWQQKH-EeObOe_NVdEHRg" target="_zfQfIKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+      <edges xmi:id="_5uPu8KIUEeOQIJJp0Esjjw" source="_DkM-4KH-EeObOe_NVdEHRg" target="_5uPH4KIUEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_7Ti40KIUEeOQIJJp0Esjjw" source="_5uPH4KIUEeOQIJJp0Esjjw" target="_yxWQQKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_zfRGMKH-EeObOe_NVdEHRg _5uPu8aIUEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_yxWQQaH-EeObOe_NVdEHRg" incoming="_7Ti40aIUEeOQIJJp0Esjjw" outgoing="_22_P8KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_zfQfIaH-EeObOe_NVdEHRg" incoming="_zfRGMKH-EeObOe_NVdEHRg _22_P8KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_5uPH4aIUEeOQIJJp0Esjjw" incoming="_5uPu8aIUEeOQIJJp0Esjjw" outgoing="_7Ti40aIUEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <edges xmi:id="_zfRGMKH-EeObOe_NVdEHRg" source="_DkPbJKH-EeObOe_NVdEHRg" target="_zfQfIaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_22_P8KH-EeObOe_NVdEHRg" source="_yxWQQaH-EeObOe_NVdEHRg" target="_zfQfIaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+      <edges xmi:id="_5uPu8aIUEeOQIJJp0Esjjw" source="_DkPbJKH-EeObOe_NVdEHRg" target="_5uPH4aIUEeOQIJJp0Esjjw">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_7Ti40aIUEeOQIJJp0Esjjw" source="_5uPH4aIUEeOQIJJp0Esjjw" target="_yxWQQaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_yxW3UKH-EeObOe_NVdEHRg" origin="_yxWQQKH-EeObOe_NVdEHRg" image="_yxWQQaH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_zfQfIqH-EeObOe_NVdEHRg" origin="_zfQfIKH-EeObOe_NVdEHRg" image="_zfQfIaH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_5uPH4qIUEeOQIJJp0Esjjw" origin="_5uPH4KIUEeOQIJJp0Esjjw" image="_5uPH4aIUEeOQIJJp0Esjjw"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NETAP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NETAP.henshin_diagram
new file mode 100644
index 0000000..dcbf956
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NETAP.henshin_diagram
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_lrl48KIUEeOQIJJp0Esjjw" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_ltG74KIUEeOQIJJp0Esjjw" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5uPu8qIUEeOQIJJp0Esjjw" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5uPu86IUEeOQIJJp0Esjjw" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ltG74qIUEeOQIJJp0Esjjw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ltG746IUEeOQIJJp0Esjjw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_ltIxEKIUEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltJYIKIUEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltJYIaIUEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltJYIqIUEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_ltJYI6IUEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_ltJYJKIUEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NETAP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ltIxEaIUEeOQIJJp0Esjjw" x="29" y="22"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ltJ_MKIUEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltJ_MqIUEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltJ_M6IUEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltJ_NKIUEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_ltJ_NaIUEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_ltJ_NqIUEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NETAP.henshin#_yxWQQKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ltJ_MaIUEeOQIJJp0Esjjw" x="324" y="183"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ltJ_N6IUEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltL0YKIUEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltL0YaIUEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_ltL0YqIUEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_ltL0Y6IUEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_ltL0ZKIUEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NETAP.henshin#_zfQfIKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ltJ_OKIUEeOQIJJp0Esjjw" x="324" y="22"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_5uRkIKIUEeOQIJJp0Esjjw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_5uRkIqIUEeOQIJJp0Esjjw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_5uRkI6IUEeOQIJJp0Esjjw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_5uRkJKIUEeOQIJJp0Esjjw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_5uRkJaIUEeOQIJJp0Esjjw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_5uRkJqIUEeOQIJJp0Esjjw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NETAP.henshin#_5uPH4KIUEeOQIJJp0Esjjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5uRkIaIUEeOQIJJp0Esjjw" x="47" y="183"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NETAP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ltG74aIUEeOQIJJp0Esjjw" x="61" y="39" width="469" height="317"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_lrl48aIUEeOQIJJp0Esjjw"/>
+  <element xmi:type="henshin:Module" href="NETAP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_ltbE8KIUEeOQIJJp0Esjjw" type="4001" source="_ltIxEKIUEeOQIJJp0Esjjw" target="_ltJ_N6IUEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ltbE86IUEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ltbE9KIUEeOQIJJp0Esjjw" x="6" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ltbE9aIUEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ltbsAKIUEeOQIJJp0Esjjw" x="2" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ltbE8aIUEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NETAP.henshin#_zfQfI6H-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ltbE8qIUEeOQIJJp0Esjjw" points="[11, 26, -2, -4]$[2, 4, -11, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ltc6IKIUEeOQIJJp0Esjjw" type="4001" source="_ltJ_MKIUEeOQIJJp0Esjjw" target="_ltJ_N6IUEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ltc6I6IUEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ltc6JKIUEeOQIJJp0Esjjw" x="-7" y="23"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ltc6JaIUEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ltc6JqIUEeOQIJJp0Esjjw" x="5" y="-48"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ltc6IaIUEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NETAP.henshin#_22-o4KH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ltc6IqIUEeOQIJJp0Esjjw" points="[26, 26, 16, 16]$[-16, -16, -26, -26]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5uVOgKIUEeOQIJJp0Esjjw" type="4001" source="_ltIxEKIUEeOQIJJp0Esjjw" target="_5uRkIKIUEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5uVOg6IUEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5uV1kKIUEeOQIJJp0Esjjw" x="11" y="-76"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5uV1kaIUEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5uV1kqIUEeOQIJJp0Esjjw" x="-15" y="-47"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5uVOgaIUEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NETAP.henshin#_5uPu8KIUEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5uVOgqIUEeOQIJJp0Esjjw" points="[-45, -26, 71, 42]$[-116, -68, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_7TkG8KIUEeOQIJJp0Esjjw" type="4001" source="_5uRkIKIUEeOQIJJp0Esjjw" target="_ltJ_MKIUEeOQIJJp0Esjjw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_7TkuAKIUEeOQIJJp0Esjjw" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7TkuAaIUEeOQIJJp0Esjjw" x="9" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_7TkuAqIUEeOQIJJp0Esjjw" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_7TkuA6IUEeOQIJJp0Esjjw" x="4" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_7TkG8aIUEeOQIJJp0Esjjw" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NETAP.henshin#_7Ti40KIUEeOQIJJp0Esjjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TkG8qIUEeOQIJJp0Esjjw" points="[38, -4, -192, 9]$[234, 13, 4, 26]"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIAEP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIAEP.henshin
new file mode 100644
index 0000000..bcd90a7
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIAEP.henshin
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_yU5k0qH-EeObOe_NVdEHRg _zfQfI6H-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_yU3voKH-EeObOe_NVdEHRg" incoming="_yU5k0qH-EeObOe_NVdEHRg" outgoing="_1r7yEKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association"/>
+      </nodes>
+      <nodes xmi:id="_yxWQQKH-EeObOe_NVdEHRg" incoming="_1r7yEKH-EeObOe_NVdEHRg" outgoing="_22-o4KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_zfQfIKH-EeObOe_NVdEHRg" incoming="_zfQfI6H-EeObOe_NVdEHRg _22-o4KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <edges xmi:id="_yU5k0qH-EeObOe_NVdEHRg" source="_DkM-4KH-EeObOe_NVdEHRg" target="_yU3voKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_zfQfI6H-EeObOe_NVdEHRg" source="_DkM-4KH-EeObOe_NVdEHRg" target="_zfQfIKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_1r7yEKH-EeObOe_NVdEHRg" source="_yU3voKH-EeObOe_NVdEHRg" target="_yxWQQKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association/navigableOwnedEnd"/>
+      </edges>
+      <edges xmi:id="_22-o4KH-EeObOe_NVdEHRg" source="_yxWQQKH-EeObOe_NVdEHRg" target="_zfQfIKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_yU5k06H-EeObOe_NVdEHRg _zfRGMKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_yU5k0KH-EeObOe_NVdEHRg" incoming="_yU5k06H-EeObOe_NVdEHRg" outgoing="_1r7yEaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association"/>
+      </nodes>
+      <nodes xmi:id="_yxWQQaH-EeObOe_NVdEHRg" incoming="_1r7yEaH-EeObOe_NVdEHRg" outgoing="_22_P8KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/>
+      </nodes>
+      <nodes xmi:id="_zfQfIaH-EeObOe_NVdEHRg" incoming="_zfRGMKH-EeObOe_NVdEHRg _22_P8KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <edges xmi:id="_yU5k06H-EeObOe_NVdEHRg" source="_DkPbJKH-EeObOe_NVdEHRg" target="_yU5k0KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_zfRGMKH-EeObOe_NVdEHRg" source="_DkPbJKH-EeObOe_NVdEHRg" target="_zfQfIaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_1r7yEaH-EeObOe_NVdEHRg" source="_yU5k0KH-EeObOe_NVdEHRg" target="_yxWQQaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Association/navigableOwnedEnd"/>
+      </edges>
+      <edges xmi:id="_22_P8KH-EeObOe_NVdEHRg" source="_yxWQQaH-EeObOe_NVdEHRg" target="_zfQfIaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_yU5k0aH-EeObOe_NVdEHRg" origin="_yU3voKH-EeObOe_NVdEHRg" image="_yU5k0KH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_yxW3UKH-EeObOe_NVdEHRg" origin="_yxWQQKH-EeObOe_NVdEHRg" image="_yxWQQaH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_zfQfIqH-EeObOe_NVdEHRg" origin="_zfQfIKH-EeObOe_NVdEHRg" image="_zfQfIaH-EeObOe_NVdEHRg"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIAEP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIAEP.henshin_diagram
new file mode 100644
index 0000000..20373cf
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIAEP.henshin_diagram
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_wH8lEKH-EeObOe_NVdEHRg" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_wJzmQKH-EeObOe_NVdEHRg" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yU5k1KH-EeObOe_NVdEHRg" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yU6L4KH-EeObOe_NVdEHRg" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wJzmQqH-EeObOe_NVdEHRg" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wJzmQ6H-EeObOe_NVdEHRg" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_wJ2CgKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_wJ2CgqH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wJ2Cg6H-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_wJ2ChKH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_wJ2ChaH-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_wJ2ChqH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIAEP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wJ2CgaH-EeObOe_NVdEHRg" x="24" y="19"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_yU8oIKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_yU8oIqH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_yU8oI6H-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_yU8oJKH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_yU8oJaH-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_yU8oJqH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIAEP.henshin#_yU3voKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yU8oIaH-EeObOe_NVdEHRg" x="31" y="186"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_yxYsgKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_yxYsgqH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_yxYsg6H-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_yxYshKH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_yxYshaH-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_yxYshqH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIAEP.henshin#_yxWQQKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yxYsgaH-EeObOe_NVdEHRg" x="298" y="186"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_zfSUUKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_zfS7YKH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_zfS7YaH-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_zfS7YqH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_zfS7Y6H-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_zfS7ZKH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIAEP.henshin#_zfQfIKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zfSUUaH-EeObOe_NVdEHRg" x="298" y="19"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NIAEP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wJzmQaH-EeObOe_NVdEHRg" x="32" y="33" width="418" height="320"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_wH8lEaH-EeObOe_NVdEHRg"/>
+  <element xmi:type="henshin:Module" href="NIAEP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_yVBgoKH-EeObOe_NVdEHRg" type="4001" source="_wJ2CgKH-EeObOe_NVdEHRg" target="_yU8oIKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_yVCHsKH-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yVCHsaH-EeObOe_NVdEHRg" x="-7" y="-73"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_yVCHsqH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yVCHs6H-EeObOe_NVdEHRg" x="18" y="-53"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_yVBgoaH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIAEP.henshin#_yU5k0qH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yVBgoqH-EeObOe_NVdEHRg" points="[-38, -26, 66, 46]$[-104, -72, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_zfXz4KH-EeObOe_NVdEHRg" type="4001" source="_wJ2CgKH-EeObOe_NVdEHRg" target="_zfSUUKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_zfXz46H-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_zfXz5KH-EeObOe_NVdEHRg" x="3" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_zfXz5aH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_zfXz5qH-EeObOe_NVdEHRg" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_zfXz4aH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIAEP.henshin#_zfQfI6H-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zfXz4qH-EeObOe_NVdEHRg" points="[-38, -26, 66, 46]$[-104, -72, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_1r9AMKH-EeObOe_NVdEHRg" type="4001" source="_yU8oIKH-EeObOe_NVdEHRg" target="_yxYsgKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_1r9nQKH-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_1r9nQaH-EeObOe_NVdEHRg" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_1r9nQqH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_1r9nQ6H-EeObOe_NVdEHRg" x="-1" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_1r9AMaH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIAEP.henshin#_1r7yEKH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1r9AMqH-EeObOe_NVdEHRg" points="[14, 0, -164, -9]$[180, -17, 2, -26]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1sAqkKH-EeObOe_NVdEHRg" id="(0.8333333333333334,0.5)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_23AeEKH-EeObOe_NVdEHRg" type="4001" source="_yxYsgKH-EeObOe_NVdEHRg" target="_zfSUUKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_23AeE6H-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_23BFIKH-EeObOe_NVdEHRg" x="-5" y="23"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_23BFIaH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_23BFIqH-EeObOe_NVdEHRg" x="17" y="-51"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_23AeEaH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIAEP.henshin#_22-o4KH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_23AeEqH-EeObOe_NVdEHRg" points="[7, -26, -51, 164]$[56, -216, -2, -26]"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIGP.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIGP.henshin
new file mode 100644
index 0000000..4e52ab4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIGP.henshin
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context" outgoing="_NArgYqH-EeObOe_NVdEHRg _NjTsU6H-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_NAprMKH-EeObOe_NVdEHRg" incoming="_NArgYqH-EeObOe_NVdEHRg" outgoing="_OT74AKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_NjTsUKH-EeObOe_NVdEHRg" incoming="_NjTsU6H-EeObOe_NVdEHRg _QDZDcKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_OT7Q8KH-EeObOe_NVdEHRg" incoming="_OT74AKH-EeObOe_NVdEHRg" outgoing="_QDZDcKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
+      </nodes>
+      <edges xmi:id="_NArgYqH-EeObOe_NVdEHRg" source="_DkM-4KH-EeObOe_NVdEHRg" target="_NAprMKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_NjTsU6H-EeObOe_NVdEHRg" source="_DkM-4KH-EeObOe_NVdEHRg" target="_NjTsUKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_OT74AKH-EeObOe_NVdEHRg" source="_NAprMKH-EeObOe_NVdEHRg" target="_OT7Q8KH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+      </edges>
+      <edges xmi:id="_QDZDcKH-EeObOe_NVdEHRg" source="_OT7Q8KH-EeObOe_NVdEHRg" target="_NjTsUKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context" outgoing="_NAsHcKH-EeObOe_NVdEHRg _NjUTYKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+      <nodes xmi:id="_NArgYKH-EeObOe_NVdEHRg" incoming="_NAsHcKH-EeObOe_NVdEHRg" outgoing="_OT74AaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_NjTsUaH-EeObOe_NVdEHRg" incoming="_NjUTYKH-EeObOe_NVdEHRg _QDZqgKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
+      </nodes>
+      <nodes xmi:id="_OT7Q8aH-EeObOe_NVdEHRg" incoming="_OT74AaH-EeObOe_NVdEHRg" outgoing="_QDZqgKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization"/>
+      </nodes>
+      <edges xmi:id="_NAsHcKH-EeObOe_NVdEHRg" source="_DkPbJKH-EeObOe_NVdEHRg" target="_NArgYKH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_NjUTYKH-EeObOe_NVdEHRg" source="_DkPbJKH-EeObOe_NVdEHRg" target="_NjTsUaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/packagedElement"/>
+      </edges>
+      <edges xmi:id="_OT74AaH-EeObOe_NVdEHRg" source="_NArgYKH-EeObOe_NVdEHRg" target="_OT7Q8aH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+      </edges>
+      <edges xmi:id="_QDZqgKH-EeObOe_NVdEHRg" source="_OT7Q8aH-EeObOe_NVdEHRg" target="_NjTsUaH-EeObOe_NVdEHRg">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Generalization/general"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_NArgYaH-EeObOe_NVdEHRg" origin="_NAprMKH-EeObOe_NVdEHRg" image="_NArgYKH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_NjTsUqH-EeObOe_NVdEHRg" origin="_NjTsUKH-EeObOe_NVdEHRg" image="_NjTsUaH-EeObOe_NVdEHRg"/>
+    <mappings xmi:id="_OT7Q8qH-EeObOe_NVdEHRg" origin="_OT7Q8KH-EeObOe_NVdEHRg" image="_OT7Q8aH-EeObOe_NVdEHRg"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIGP.henshin_diagram b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIGP.henshin_diagram
new file mode 100644
index 0000000..0a430ba
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/NIGP.henshin_diagram
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_JUil0KH-EeObOe_NVdEHRg" type="Henshin" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_JkwMEKH-EeObOe_NVdEHRg" type="2001" fontName="Segoe UI" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NAsHcaH-EeObOe_NVdEHRg" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_NAsHcqH-EeObOe_NVdEHRg" key="value" value="preserve"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_JkyoUKH-EeObOe_NVdEHRg" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_JkyoUaH-EeObOe_NVdEHRg" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_Jn600KH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Jn600qH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Jn6006H-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Jn8qAKH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_Jn8qAaH-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn8qAqH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIGP.henshin#_DkM-4KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn600aH-EeObOe_NVdEHRg" x="24" y="26"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_NAy1IKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_NAzcMKH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_NAzcMaH-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_NAzcMqH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_NAzcM6H-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_NAzcNKH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIGP.henshin#_NAprMKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NAy1IaH-EeObOe_NVdEHRg" x="42" y="174"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_NjWIkKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_NjWvoKH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_NjWvoaH-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_NjWvoqH-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_NjWvo6H-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_NjWvpKH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIGP.henshin#_NjTsUKH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NjWIkaH-EeObOe_NVdEHRg" x="288" y="26"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_OT9tMKH-EeObOe_NVdEHRg" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_OT-UQaH-EeObOe_NVdEHRg" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_OT-UQqH-EeObOe_NVdEHRg" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_OT-UQ6H-EeObOe_NVdEHRg" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_OT-URKH-EeObOe_NVdEHRg"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_OT-URaH-EeObOe_NVdEHRg"/>
+        </children>
+        <element xmi:type="henshin:Node" href="NIGP.henshin#_OT7Q8KH-EeObOe_NVdEHRg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OT-UQKH-EeObOe_NVdEHRg" x="274" y="174"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="NIGP.henshin#_DkHfUKH-EeObOe_NVdEHRg"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JkwMEaH-EeObOe_NVdEHRg" x="53" y="33" width="434" height="293"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_JUil0aH-EeObOe_NVdEHRg"/>
+  <element xmi:type="henshin:Module" href="NIGP.henshin#_DkD08KH-EeObOe_NVdEHRg"/>
+  <edges xmi:type="notation:Connector" xmi:id="_NBpwwKH-EeObOe_NVdEHRg" type="4001" source="_Jn600KH-EeObOe_NVdEHRg" target="_NAy1IKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_NBqX0KH-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_NBqX0aH-EeObOe_NVdEHRg" x="13" y="-76"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_NBqX0qH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_NBqX06H-EeObOe_NVdEHRg" x="-15" y="-46"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_NBpwwaH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIGP.henshin#_NArgYqH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NBpwwqH-EeObOe_NVdEHRg" points="[-43, -26, 105, 63]$[-148, -89, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_NjiV0KH-EeObOe_NVdEHRg" type="4001" source="_Jn600KH-EeObOe_NVdEHRg" target="_NjWIkKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Nji84KH-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Nji84aH-EeObOe_NVdEHRg" x="3" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Nji84qH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Nji846H-EeObOe_NVdEHRg" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_NjiV0aH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIGP.henshin#_NjTsU6H-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NjiV0qH-EeObOe_NVdEHRg" points="[-43, -26, 105, 63]$[-148, -89, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_OUEa4KH-EeObOe_NVdEHRg" type="4001" source="_NAy1IKH-EeObOe_NVdEHRg" target="_OT9tMKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_OUEa46H-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_OUEa5KH-EeObOe_NVdEHRg" x="2" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_OUFB8KH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_OUFB8aH-EeObOe_NVdEHRg" x="2" y="16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_OUEa4aH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIGP.henshin#_OT74AKH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OUEa4qH-EeObOe_NVdEHRg" points="[-15, -26, 128, 227]$[-143, -253, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_QDa4oKH-EeObOe_NVdEHRg" type="4001" source="_OT9tMKH-EeObOe_NVdEHRg" target="_NjWIkKH-EeObOe_NVdEHRg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_QDbfsKH-EeObOe_NVdEHRg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QDbfsaH-EeObOe_NVdEHRg" x="-13" y="39"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_QDbfsqH-EeObOe_NVdEHRg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_QDbfs6H-EeObOe_NVdEHRg" x="9" y="46"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_QDa4oaH-EeObOe_NVdEHRg" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="NIGP.henshin#_QDZDcKH-EeObOe_NVdEHRg"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QDa4oqH-EeObOe_NVdEHRg" points="[11, -26, -74, 171]$[95, -205, 10, -8]"/>
+  </edges>
+</notation:Diagram>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/P.henshin b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/P.henshin
new file mode 100644
index 0000000..c8a33e2
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.henshin/transformations/P.henshin
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_DkD08KH-EeObOe_NVdEHRg">
+  <imports href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
+  <units xsi:type="henshin:Rule" xmi:id="_DkHfUKH-EeObOe_NVdEHRg" name="mainRule">
+    <parameters xmi:id="_DkIGYKH-EeObOe_NVdEHRg" name="context"/>
+    <lhs xmi:id="_DkItcKH-EeObOe_NVdEHRg" name="Lhs">
+      <nodes xmi:id="_DkM-4KH-EeObOe_NVdEHRg" name="context">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+    </lhs>
+    <rhs xmi:id="_DkPbIaH-EeObOe_NVdEHRg" name="Rhs">
+      <nodes xmi:id="_DkPbJKH-EeObOe_NVdEHRg" name="context">
+        <type href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
+      </nodes>
+    </rhs>
+    <mappings xmi:id="_DkQCMaH-EeObOe_NVdEHRg" origin="_DkM-4KH-EeObOe_NVdEHRg" image="_DkPbJKH-EeObOe_NVdEHRg"/>
+  </units>
+</henshin:Module>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.class b/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.class
index 102c84a..8518888 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.class
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.class b/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.class
index ecdfeb2..2112134 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.class
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
index cc11cee..5ee45f4 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
@@ -98,11 +98,103 @@
 <metric id="org.eclipse.emf.refactor.metrics.uml24.nopp" 
 	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NOPP" 
 	metric_context="Package" 
-	metric_description="Number of operations in classes and Interfaces within the package" 
+	metric_description="Number of owned operations in classes within the package" 
 	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
 	metric_name="NOPP">
 </metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.tnopp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.TNOPP" 
+	metric_context="Package" 
+	metric_description="Total number of owned and inherited operations in classes within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="TNOPP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.tnatp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.TNATP" 
+	metric_context="Package" 
+	metric_description="Total number of owned and inherited attributes in classes within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="TNATP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nopmp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NOPMP" 
+	metric_context="Package" 
+	metric_description="Number of other packages in the model" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NOPMP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.npp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NPP" 
+	metric_context="Package" 
+	metric_description="Number of directly nested packages inside the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NPP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nasp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NASP" 
+	metric_context="Package" 
+	metric_description="Number of associations within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NASP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.naggr" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NAGGR" 
+	metric_context="Package" 
+	metric_description="Number of aggregation relationships within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NAGGR">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nirp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NIRP" 
+	metric_context="Package" 
+	metric_description="Number of interface realizations within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NIRP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.niup" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NIUP" 
+	metric_context="Package" 
+	metric_description="Number of interface usages within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NIUP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nnpatp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NNPATP" 
+	metric_context="Package" 
+	metric_description="Number of non-public owned attributes within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NNPATP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nnpopp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NNPOPP" 
+	metric_context="Package" 
+	metric_description="Number of non-public owned operations within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NNPOPP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.niatp" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NIATP" 
+	metric_context="Package" 
+	metric_description="Number of owned attributes in classes which have a class within the package as type" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NIATP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.natip" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NATIP" 
+	metric_context="Package" 
+	metric_description="Number of inherited attributes in classes within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NATIP">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nopip" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.NOPIP" 
+	metric_context="Package" 
+	metric_description="Number of inherited operations in classes within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="NOPIP">
+</metric>
 </extension>
+
 <extension point="org.eclipse.emf.refactor.metrics">
 <metric id="org.eclipse.emf.refactor.metrics.uml24.natc" 
 	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlcl.NATC" 
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NAGGR.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NAGGR.java
new file mode 100644
index 0000000..a5e5095
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NAGGR.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NAGGR implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedAttribute) "
+			+ "-> select(aggregation=AggregationKind::shared) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NASP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NASP.java
new file mode 100644
index 0000000..e2e9a2c
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NASP.java
@@ -0,0 +1,25 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NASP implements IMetricCalculator {
+
+	private final String expression = "self.packagedElement -> select(oclIsTypeOf(Association)) -> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATIP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATIP.java
new file mode 100644
index 0000000..234c74b
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATIP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NATIP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).inheritedMember) "
+			+ "-> select(oclIsTypeOf(Property)) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.java
index fa834e6..4ab7128 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.java
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NATP.java
@@ -1,6 +1,7 @@
 package org.eclipse.emf.refactor.metrics.uml24.umlpack;
 
 import java.util.List;
+
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
 import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
@@ -9,7 +10,10 @@
 public final class NATP implements IMetricCalculator {
 
 	private final String expression = 
-		"self.packagedElement -> select(oclIsTypeOf(Class)) -> collect(oclAsType(Class).ownedAttribute) -> size()";	
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedAttribute) "
+			+ "-> size()";	
 	private List<EObject> context; 
 		
 	@Override
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIATP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIATP.java
new file mode 100644
index 0000000..0681023
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIATP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NIATP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedAttribute) "
+			+ "-> select(self.packagedElement -> includes(type)) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIRP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIRP.java
new file mode 100644
index 0000000..5526ea4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIRP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NIRP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedElement) "
+			+ "-> select(oclIsTypeOf(InterfaceRealization)) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIUP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIUP.java
new file mode 100644
index 0000000..dbab7cc
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NIUP.java
@@ -0,0 +1,25 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NIUP implements IMetricCalculator {
+
+	private final String expression = "self.packagedElement -> select(oclIsTypeOf(Usage)) -> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NNPATP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NNPATP.java
new file mode 100644
index 0000000..468ff79
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NNPATP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NNPATP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedAttribute) "
+			+ "-> select(visibility<>VisibilityKind::public)"
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NNPOPP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NNPOPP.java
new file mode 100644
index 0000000..14579de
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NNPOPP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NNPOPP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedOperation) "
+			+ "-> select(visibility<>VisibilityKind::public)"
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPIP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPIP.java
new file mode 100644
index 0000000..7cb7423
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPIP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NOPIP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).inheritedMember) "
+			+ "-> select(oclIsTypeOf(Operation)) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPMP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPMP.java
new file mode 100644
index 0000000..c6c4077
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPMP.java
@@ -0,0 +1,25 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NOPMP implements IMetricCalculator {
+
+	private final String expression = "Package.allInstances() -> reject(p|p.oclIsTypeOf(Model) or p=self) -> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.java
index fc6c076..dc93956 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.java
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NOPP.java
@@ -9,8 +9,8 @@
 public final class NOPP implements IMetricCalculator {
 
 	private final String expression = 
-		"self.packagedElement -> select(oclIsTypeOf(Class)) -> collect(oclAsType(Class).ownedOperation) -> size() + " +
-		"self.packagedElement -> select(oclIsTypeOf(Interface)) -> collect(oclAsType(Interface).ownedOperation) -> size()";	
+		"self.packagedElement -> select(oclIsTypeOf(Class)) -> collect(oclAsType(Class).ownedOperation) -> size()";// + " +
+		//"self.packagedElement -> select(oclIsTypeOf(Interface)) -> collect(oclAsType(Interface).ownedOperation) -> size()";	
 	private List<EObject> context; 
 		
 	@Override
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NPP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NPP.java
new file mode 100644
index 0000000..6b7b647
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/NPP.java
@@ -0,0 +1,25 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class NPP implements IMetricCalculator {
+
+	private final String expression = "self.packagedElement -> select(oclIsTypeOf(Package)) -> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TNATP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TNATP.java
new file mode 100644
index 0000000..ae54ba4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TNATP.java
@@ -0,0 +1,35 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class TNATP implements IMetricCalculator {
+
+		private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedAttribute) "
+			+ "-> size() + "
+			
+			+ "self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).inheritedMember) "
+			+ "-> select(oclIsTypeOf(Property)) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TNOPP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TNOPP.java
new file mode 100644
index 0000000..9850187
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/TNOPP.java
@@ -0,0 +1,34 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+public class TNOPP implements IMetricCalculator {
+
+	private final String expression = 
+			"self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).ownedOperation) "
+			+ "-> size() + "
+			
+			+ "self.packagedElement "
+			+ "-> select(oclIsTypeOf(Class)) "
+			+ "-> collect(oclAsType(Class).inheritedMember) "
+			+ "-> select(oclIsTypeOf(Operation)) "
+			+ "-> size()";	
+	private List<EObject> context; 
+			
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context = context;
+	}	
+			
+	@Override
+	public double calculate() {	
+		EObject contextObject = context.get(0);
+		return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+	}
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
index ef2a3c8..50e9c5b 100644
--- a/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
+++ b/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <plugin>
+
 <extension point="org.eclipse.emf.refactor.metrics">
 <metric 
 	id="org.eclipse.emf.refactor.metrics.uml24.nacp" 
@@ -16,7 +17,29 @@
 	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
 	metric_name="TNCP">
 </metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.ca" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.Ca" 
+	metric_context="Package" 
+	metric_description="Afferent coupling: Number of classes in other packages which depend on classes within the package" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="Ca">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.ce" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.Ce" 
+	metric_context="Package" 
+	metric_description="Efferent coupling: Number of classes within the package which depend on classes in other packages" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="Ce">
+</metric>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.dnh" 
+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlpack.DNH" 
+	metric_context="Package" 
+	metric_description="Depth in the nesting hierarchy" 
+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 
+	metric_name="DNH">
+</metric>
 </extension>
+
 <extension point="org.eclipse.emf.refactor.metrics">
 <metric id="org.eclipse.emf.refactor.metrics.uml24.neatc" 
 	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlcl.NEATC" 
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/Ca.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/Ca.java
new file mode 100644
index 0000000..e7f99af
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/Ca.java
@@ -0,0 +1,91 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.TypedElement;
+
+public class Ca implements IMetricCalculator {
+
+private List<EObject> context; 
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context=context;
+	}	
+		
+	@Override
+	public double calculate() {
+		double ret = 0.0;
+		// custom code - begin
+		for (Class otherclass : getOtherClasses()) {
+			if (dependsOn(otherclass, getOwnedClasses())) {
+				ret++;
+			}
+		}
+		// custom code - end
+		return ret;
+	}
+	
+	private boolean dependsOn(Class otherClass, EList<Class> ownedClasses) {
+		boolean depends = false;
+		for (Property attribute : otherClass.getOwnedAttributes()) {
+			depends |= hasType(attribute, ownedClasses);
+		}
+		for (Operation operation : otherClass.getOwnedOperations()) {
+			for (Parameter parameter : operation.getOwnedParameters()) {
+				depends |= hasType(parameter, ownedClasses);
+			}
+		}
+		for (Class superclass : otherClass.getSuperClasses()) {
+			depends |= ownedClasses.contains(superclass);
+		}
+		return depends;
+	}
+
+	private boolean hasType(TypedElement te, EList<Class> classes) {
+		if (te.getType() != null && te.getType() instanceof Class) {
+			return (classes.contains(te.getType()));
+		}
+		return false;
+	}
+
+	private EList<Class> getAllClasses() {
+		EList<Class> classes = new BasicEList<Class>();
+		TreeIterator<EObject> iter = context.get(0).eResource().getAllContents();
+		while (iter.hasNext()) {
+			EObject eObject = iter.next();
+			if (eObject instanceof Class) {
+				classes.add((Class) eObject);
+			}
+		}
+		return classes;
+	}
+	
+	private EList<Class> getOwnedClasses() {
+		EList<Class> classes = new BasicEList<Class>();
+		for (PackageableElement pe : ((Package) context.get(0)).getPackagedElements()) {
+			if (pe instanceof Class) {
+				classes.add((Class) pe);
+			}
+		}
+		return classes;
+	}
+	
+	private EList<Class> getOtherClasses() {
+		EList<Class> classes = getAllClasses();
+		classes.removeAll(getOwnedClasses());
+		return classes;
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/Ce.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/Ce.java
new file mode 100644
index 0000000..76ccfc4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/Ce.java
@@ -0,0 +1,91 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.PackageableElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.TypedElement;
+
+public class Ce implements IMetricCalculator {
+
+private List<EObject> context; 
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context=context;
+	}	
+		
+	@Override
+	public double calculate() {
+		double ret = 0.0;
+		// custom code - begin
+		for (Class ownedclass : getOwnedClasses()) {
+			if (dependsOn(ownedclass, getOtherClasses())) {
+				ret++;
+			}
+		}
+		// custom code - end
+		return ret;
+	}
+	
+	private boolean dependsOn(Class ownedclass, EList<Class> otherClasses) {
+		boolean depends = false;
+		for (Property attribute : ownedclass.getOwnedAttributes()) {
+			depends |= hasType(attribute, otherClasses);
+		}
+		for (Operation operation : ownedclass.getOwnedOperations()) {
+			for (Parameter parameter : operation.getOwnedParameters()) {
+				depends |= hasType(parameter, otherClasses);
+			}
+		}
+		for (Class superclass : ownedclass.getSuperClasses()) {
+			depends |= otherClasses.contains(superclass);
+		}
+		return depends;
+	}
+
+	private boolean hasType(TypedElement te, EList<Class> otherClasses) {
+		if (te.getType() != null && te.getType() instanceof Class) {
+			return (otherClasses.contains(te.getType()));
+		}
+		return false;
+	}
+
+	private EList<Class> getAllClasses() {
+		EList<Class> classes = new BasicEList<Class>();
+		TreeIterator<EObject> iter = context.get(0).eResource().getAllContents();
+		while (iter.hasNext()) {
+			EObject eObject = iter.next();
+			if (eObject instanceof Class) {
+				classes.add((Class) eObject);
+			}
+		}
+		return classes;
+	}
+	
+	private EList<Class> getOwnedClasses() {
+		EList<Class> classes = new BasicEList<Class>();
+		for (PackageableElement pe : ((Package) context.get(0)).getPackagedElements()) {
+			if (pe instanceof Class) {
+				classes.add((Class) pe);
+			}
+		}
+		return classes;
+	}
+	
+	private EList<Class> getOtherClasses() {
+		EList<Class> classes = getAllClasses();
+		classes.removeAll(getOwnedClasses());
+		return classes;
+	}
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/DNH.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/DNH.java
new file mode 100644
index 0000000..6a582b4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/umlpack/DNH.java
@@ -0,0 +1,31 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlpack;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.Package;
+
+public class DNH implements IMetricCalculator {
+
+	private List<EObject> context; 
+	
+	@Override
+	public void setContext(List<EObject> context) {
+		this.context=context;
+	}	
+		
+	@Override
+	public double calculate() {	
+		Package p = (Package) context.get(0);
+		return getNestingDepth(p);
+	}
+
+	private int getNestingDepth(Package p) {
+		if (p.getNestingPackage() == null) {
+			return 0;
+		}
+		return 1 + getNestingDepth(p.getNestingPackage());
+	}
+
+}
