diff --git a/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore b/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore
index 0dacdb406cd8c0b176a25d7c37ae968d2896d0ba..0dc61510c8c06da00312f5e4a4a50012c84c2e52 100644
--- a/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore
+++ b/tools.descartes.dni.adaptation/model/DNIMM3AP.xcore
@@ -82,7 +82,7 @@ class AdaptableEndPerformance extends IAdaptableEntity<tools.descartes.dni.dnimm
 			return "Unspecified entity type";
 		}
 	}
-	contains AlternativeVariable softwareLayersDelay
+	contains AlternativeDependency softwareLayersDelay
 }
 
 class AdaptableIntermediatePerformance extends IAdaptableEntity<tools.descartes.dni.dnimm3.IntermediatePerformanceType> {
diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableEndPerformance.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableEndPerformance.java
index 673e89a1df93edb3d3dcb2890cf689f24e64308e..ac3c4f2507bf787badf9df8df8d3b585fe0a9c5e 100644
--- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableEndPerformance.java
+++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/AdaptableEndPerformance.java
@@ -47,12 +47,12 @@ public interface AdaptableEndPerformance extends IAdaptableEntity<EndPerformance
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Software Layers Delay</em>' containment reference.
-	 * @see #setSoftwareLayersDelay(AlternativeVariable)
+	 * @see #setSoftwareLayersDelay(AlternativeDependency)
 	 * @see tools.descartes.dni.dnimm3ap.DNIAPPackage#getAdaptableEndPerformance_SoftwareLayersDelay()
 	 * @model containment="true"
 	 * @generated
 	 */
-	AlternativeVariable getSoftwareLayersDelay();
+	AlternativeDependency getSoftwareLayersDelay();
 
 	/**
 	 * Sets the value of the '{@link tools.descartes.dni.dnimm3ap.AdaptableEndPerformance#getSoftwareLayersDelay <em>Software Layers Delay</em>}' containment reference.
@@ -62,6 +62,6 @@ public interface AdaptableEndPerformance extends IAdaptableEntity<EndPerformance
 	 * @see #getSoftwareLayersDelay()
 	 * @generated
 	 */
-	void setSoftwareLayersDelay(AlternativeVariable value);
+	void setSoftwareLayersDelay(AlternativeDependency value);
 
 } // AdaptableEndPerformance
diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableEndPerformanceImpl.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableEndPerformanceImpl.java
index c3d4052114270ffe86b584970d83993ee23797cc..7e8b639e8ccba60943ab725576e3343a24716325 100644
--- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableEndPerformanceImpl.java
+++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/AdaptableEndPerformanceImpl.java
@@ -22,7 +22,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
 import tools.descartes.dni.dnimm3.EndPerformanceType;
 
 import tools.descartes.dni.dnimm3ap.AdaptableEndPerformance;
-import tools.descartes.dni.dnimm3ap.AlternativeVariable;
+import tools.descartes.dni.dnimm3ap.AlternativeDependency;
 import tools.descartes.dni.dnimm3ap.Cost;
 import tools.descartes.dni.dnimm3ap.DNIAPPackage;
 
@@ -81,7 +81,7 @@ public class AdaptableEndPerformanceImpl extends MinimalEObjectImpl.Container im
 	 * @generated
 	 * @ordered
 	 */
-	protected AlternativeVariable softwareLayersDelay;
+	protected AlternativeDependency softwareLayersDelay;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -173,7 +173,7 @@ public class AdaptableEndPerformanceImpl extends MinimalEObjectImpl.Container im
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public AlternativeVariable getSoftwareLayersDelay() {
+	public AlternativeDependency getSoftwareLayersDelay() {
 		return softwareLayersDelay;
 	}
 
@@ -182,8 +182,8 @@ public class AdaptableEndPerformanceImpl extends MinimalEObjectImpl.Container im
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetSoftwareLayersDelay(AlternativeVariable newSoftwareLayersDelay, NotificationChain msgs) {
-		AlternativeVariable oldSoftwareLayersDelay = softwareLayersDelay;
+	public NotificationChain basicSetSoftwareLayersDelay(AlternativeDependency newSoftwareLayersDelay, NotificationChain msgs) {
+		AlternativeDependency oldSoftwareLayersDelay = softwareLayersDelay;
 		softwareLayersDelay = newSoftwareLayersDelay;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DNIAPPackage.ADAPTABLE_END_PERFORMANCE__SOFTWARE_LAYERS_DELAY, oldSoftwareLayersDelay, newSoftwareLayersDelay);
@@ -197,7 +197,7 @@ public class AdaptableEndPerformanceImpl extends MinimalEObjectImpl.Container im
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public void setSoftwareLayersDelay(AlternativeVariable newSoftwareLayersDelay) {
+	public void setSoftwareLayersDelay(AlternativeDependency newSoftwareLayersDelay) {
 		if (newSoftwareLayersDelay != softwareLayersDelay) {
 			NotificationChain msgs = null;
 			if (softwareLayersDelay != null)
@@ -265,7 +265,7 @@ public class AdaptableEndPerformanceImpl extends MinimalEObjectImpl.Container im
 				setEntityType((EndPerformanceType)newValue);
 				return;
 			case DNIAPPackage.ADAPTABLE_END_PERFORMANCE__SOFTWARE_LAYERS_DELAY:
-				setSoftwareLayersDelay((AlternativeVariable)newValue);
+				setSoftwareLayersDelay((AlternativeDependency)newValue);
 				return;
 		}
 		super.eSet(featureID, newValue);
@@ -286,7 +286,7 @@ public class AdaptableEndPerformanceImpl extends MinimalEObjectImpl.Container im
 				setEntityType((EndPerformanceType)null);
 				return;
 			case DNIAPPackage.ADAPTABLE_END_PERFORMANCE__SOFTWARE_LAYERS_DELAY:
-				setSoftwareLayersDelay((AlternativeVariable)null);
+				setSoftwareLayersDelay((AlternativeDependency)null);
 				return;
 		}
 		super.eUnset(featureID);
diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java
index d637fd8c0c2bf95a5c12e1292bd99efbaebdb00a..bacece103cb8b7bfcb67b5c0781152eec7c2cee2 100644
--- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java
+++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/impl/DNIAPPackageImpl.java
@@ -1303,7 +1303,7 @@ public class DNIAPPackageImpl extends EPackageImpl implements DNIAPPackage {
 
 		initEClass(adaptableEndPerformanceEClass, AdaptableEndPerformance.class, "AdaptableEndPerformance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getAdaptableEndPerformance_Name(), theEcorePackage.getEString(), "name", null, 0, 1, AdaptableEndPerformance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEReference(getAdaptableEndPerformance_SoftwareLayersDelay(), this.getAlternativeVariable(), null, "softwareLayersDelay", null, 0, 1, AdaptableEndPerformance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAdaptableEndPerformance_SoftwareLayersDelay(), this.getAlternativeDependency(), null, "softwareLayersDelay", null, 0, 1, AdaptableEndPerformance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(adaptableIntermediatePerformanceEClass, AdaptableIntermediatePerformance.class, "AdaptableIntermediatePerformance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getAdaptableIntermediatePerformance_Name(), theEcorePackage.getEString(), "name", null, 0, 1, AdaptableIntermediatePerformance.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
diff --git a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableEndPerformanceItemProvider.java b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableEndPerformanceItemProvider.java
index 2eb2ff88d629d87572c3fc6db8ac5f9874a13cb8..b3118f232b284aca970a8b4edfc29d8263dbdef0 100644
--- a/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableEndPerformanceItemProvider.java
+++ b/tools.descartes.dni.adaptation/src/tools/descartes/dni/dnimm3ap/provider/AdaptableEndPerformanceItemProvider.java
@@ -214,6 +214,11 @@ public class AdaptableEndPerformanceItemProvider
 				(DNIAPPackage.Literals.ICOSTABLE__COST,
 				 DNIAPFactory.eINSTANCE.createHandlingTime()));
 
+		newChildDescriptors.add
+			(createChildParameter
+				(DNIAPPackage.Literals.ADAPTABLE_END_PERFORMANCE__SOFTWARE_LAYERS_DELAY,
+				 DNIAPFactory.eINSTANCE.createAlternativeDependencySet()));
+
 		newChildDescriptors.add
 			(createChildParameter
 				(DNIAPPackage.Literals.ADAPTABLE_END_PERFORMANCE__SOFTWARE_LAYERS_DELAY,