diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif
index 700bd5ecdaf12876e4bb3c0589a19d68ed649c49..12d45aab7d83c0303e1a239db655e80d4a3872e2 100644
Binary files a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branches_ScenarioBehavior.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branches_ScenarioBehavior.gif
index 7926c34197a07b0edbcff171838e21d13464ccb5..7adf9acc6d9973159ba8eb5c0162949cc73e05b4 100644
Binary files a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.gif and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branches_ScenarioBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StopUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif
index 85753e9f7091c08d1f9a859be4d9ec7eae9ea19c..c461d5746b920863218203fc45d6567271d14bcd 100644
Binary files a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StopUserAction.gif and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateLoopUserAction_loopBodyScenarioBehavior_ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateLoopUserAction_loopBodyScenarioBehavior_ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f768689d3de81bb2be5fbe5aab1d1e727a97bffc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateLoopUserAction_loopBodyScenarioBehavior_ScenarioBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_BranchUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_BranchUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1611c0c15443b0532e4233aa9f1fa6498ba9ab85
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_BranchUserAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_DelayUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_DelayUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98c2fa25c69c9e1016861b40e26b271e1edc4a95
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_DelayUserAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_EntryLevelSystemCall.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_EntryLevelSystemCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e564f3f06e4e8b1614b63da4600b26598e84ec0d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_EntryLevelSystemCall.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_LoopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_LoopUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4fc15c12ddf119e4ba484ae71c3f64d25b640526
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_LoopUserAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_scenarioBehavior_ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_scenarioBehavior_ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c2326eff67c36937694a28717e53021d52f9fc72
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_scenarioBehavior_ScenarioBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_ClosedWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_ClosedWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a674b69c27110f2fc17ff3f0cd277c7e415d8506
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_ClosedWorkloadType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_OpenWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_OpenWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4bffd128967482a53a248a94b8ae51da10ef745
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_OpenWorkloadType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateWorkload_usageScenarios_UsageScenario.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateWorkload_usageScenarios_UsageScenario.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e6a569287fbcd9c39e58303551fa064c4b09915c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateWorkload_usageScenarios_UsageScenario.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/BranchUserAction.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StopUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/BranchUserAction.gif
index 8a5c70cbd74c87cb3b1df383e0c242ede4660c3b..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a 100644
Binary files a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StopUserAction.gif and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/BranchUserAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/CallParameterSetting.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/CallParameterSetting.gif
index c4fb30e96873d2484faec9d508dcbdd69e73d82e..9250fecbffd185d174d53f6b7ea979f63ce222d2 100644
Binary files a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.gif and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/CallParameterSetting.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ClosedWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ClosedWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30f0c48da8d4450f7e94a696c4de0a7cc41aa728
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ClosedWorkloadType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/DelayUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/DelayUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/DelayUserAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/EntryLevelSystemCall.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/EntryLevelSystemCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98b351f1c441775dfbe390577f2e534a4dcf07f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/EntryLevelSystemCall.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/LoopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/LoopUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c673a5200a53ebd68c78c5cdb9d1bd4eaa855afb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/LoopUserAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/OpenWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/OpenWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..10d222998af0a3a571390bae7e117c9964ec1562
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/OpenWorkloadType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89ad5da38ab3060f14ba925b1251bd5cb8454012
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ScenarioBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/UsageScenario.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/UsageScenario.gif
new file mode 100644
index 0000000000000000000000000000000000000000..134551bff7eb3f0beb14a6c4a270a2a94f782ec5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/UsageScenario.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StartUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/Workload.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StartUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/Workload.gif
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
index e33138bdd8660af81fedc82c2ddabe313d59f0fb..0073fdbdb875b4356c73e6f616ba6ac53c3a5e3d 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
+++ b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
@@ -77,3 +77,4 @@ _UI_CallParameterSetting_characterization_feature = Characterization
 _UI_CallParameterSetting_value_feature = Value
 _UI_Workload_systems_feature = Systems
 _UI_Workload_system_feature = System
+_UI_EntryLevelSystemCall_providingRole_feature = Providing Role
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
similarity index 83%
rename from edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java
rename to edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
index 7f010331f5a1181ec120334f3f1ef305b51b3313..e58518336ba6f4b3cac316acebaa03bf13a0b18d 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
@@ -10,21 +10,24 @@ import java.util.List;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 
+import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 
 /**
- * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.StopUserAction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.AbstractUserAction} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class StopUserActionItemProvider
-	extends AbstractUserActionItemProvider
+public class AbstractUserActionItemProvider
+	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -37,7 +40,7 @@ public class StopUserActionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public StopUserActionItemProvider(AdapterFactory adapterFactory) {
+	public AbstractUserActionItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -56,17 +59,6 @@ public class StopUserActionItemProvider
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This returns StopUserAction.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StopUserAction"));
-	}
-
 	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -75,7 +67,7 @@ public class StopUserActionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_StopUserAction_type");
+		return getString("_UI_AbstractUserAction_type");
 	}
 
 	/**
@@ -103,4 +95,15 @@ public class StopUserActionItemProvider
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
 }
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c8d2de648aa5c1938c241f4531553fc1c5ab5611
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+
+import edu.kit.ipd.descartes.mm.workload.BranchUserAction;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.BranchUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchUserActionItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BranchUserActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCHES);
+			childrenFeatures.add(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCH_USER_PROBABILITIES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns BranchUserAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchUserAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_BranchUserAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BranchUserAction.class)) {
+			case WorkloadPackage.BRANCH_USER_ACTION__BRANCHES:
+			case WorkloadPackage.BRANCH_USER_ACTION__BRANCH_USER_PROBABILITIES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCHES,
+				 WorkloadFactory.eINSTANCE.createScenarioBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCH_USER_PROBABILITIES,
+				 FunctionsFactory.eINSTANCE.createRandomVariable()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b965304a9497c4c5048745d6d488d0389c2d902b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.CallParameterSetting;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.CallParameterSetting} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallParameterSettingItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CallParameterSettingItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addNamePropertyDescriptor(object);
+			addCharacterizationPropertyDescriptor(object);
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameterSetting_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameterSetting_name_feature", "_UI_CallParameterSetting_type"),
+				 WorkloadPackage.Literals.CALL_PARAMETER_SETTING__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Characterization feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCharacterizationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameterSetting_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameterSetting_characterization_feature", "_UI_CallParameterSetting_type"),
+				 WorkloadPackage.Literals.CALL_PARAMETER_SETTING__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameterSetting_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameterSetting_value_feature", "_UI_CallParameterSetting_type"),
+				 WorkloadPackage.Literals.CALL_PARAMETER_SETTING__VALUE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CallParameterSetting.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CallParameterSetting"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CallParameterSetting)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CallParameterSetting_type") :
+			getString("_UI_CallParameterSetting_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CallParameterSetting.class)) {
+			case WorkloadPackage.CALL_PARAMETER_SETTING__NAME:
+			case WorkloadPackage.CALL_PARAMETER_SETTING__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1b1dc59778355ac1105ca026650dc0eb7be4a336
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.math.BigInteger;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClosedWorkloadTypeItemProvider
+	extends WorkloadTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ClosedWorkloadTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addPopulationPropertyDescriptor(object);
+			addThinkTimePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Population feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPopulationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ClosedWorkloadType_population_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ClosedWorkloadType_population_feature", "_UI_ClosedWorkloadType_type"),
+				 WorkloadPackage.Literals.CLOSED_WORKLOAD_TYPE__POPULATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Think Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addThinkTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ClosedWorkloadType_thinkTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ClosedWorkloadType_thinkTime_feature", "_UI_ClosedWorkloadType_type"),
+				 WorkloadPackage.Literals.CLOSED_WORKLOAD_TYPE__THINK_TIME,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ClosedWorkloadType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ClosedWorkloadType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigInteger labelValue = ((ClosedWorkloadType)object).getPopulation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ClosedWorkloadType_type") :
+			getString("_UI_ClosedWorkloadType_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ClosedWorkloadType.class)) {
+			case WorkloadPackage.CLOSED_WORKLOAD_TYPE__POPULATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..bf706f8faa5af8bb39a08783befa787010d53fa1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.DelayUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DelayUserActionItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DelayUserActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addTimeSpecificationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Time Specification feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTimeSpecificationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DelayUserAction_timeSpecification_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DelayUserAction_timeSpecification_feature", "_UI_DelayUserAction_type"),
+				 WorkloadPackage.Literals.DELAY_USER_ACTION__TIME_SPECIFICATION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DelayUserAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DelayUserAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DelayUserAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..944cdec3e80245467cd9a1570f6b65b18711b629
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EntryLevelSystemCallItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntryLevelSystemCallItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addProvidingRolePropertyDescriptor(object);
+			addSignaturePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Providing Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidingRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EntryLevelSystemCall_providingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EntryLevelSystemCall_providingRole_feature", "_UI_EntryLevelSystemCall_type"),
+				 WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__PROVIDING_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EntryLevelSystemCall_signature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EntryLevelSystemCall_signature_feature", "_UI_EntryLevelSystemCall_type"),
+				 WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_SETTINGS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns EntryLevelSystemCall.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EntryLevelSystemCall"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_EntryLevelSystemCall_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(EntryLevelSystemCall.class)) {
+			case WorkloadPackage.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_SETTINGS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_SETTINGS,
+				 WorkloadFactory.eINSTANCE.createCallParameterSetting()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..33da517b5d4051d827ae617aa1c6ddcbe327a8ac
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.LoopUserAction;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.LoopUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopUserActionItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LoopUserActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addLoopIterationCountDistributionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Loop Iteration Count Distribution feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLoopIterationCountDistributionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_LoopUserAction_loopIterationCountDistribution_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_LoopUserAction_loopIterationCountDistribution_feature", "_UI_LoopUserAction_type"),
+				 WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_BODY_SCENARIO_BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns LoopUserAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopUserAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_LoopUserAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(LoopUserAction.class)) {
+			case WorkloadPackage.LOOP_USER_ACTION__LOOP_BODY_SCENARIO_BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_BODY_SCENARIO_BEHAVIOR,
+				 WorkloadFactory.eINSTANCE.createScenarioBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e6e809a4a7ff6ddc926390b7125317f501a4c498
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.OpenWorkloadType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpenWorkloadTypeItemProvider
+	extends WorkloadTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OpenWorkloadTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addInterArrivalTimePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Inter Arrival Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterArrivalTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_OpenWorkloadType_interArrivalTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_OpenWorkloadType_interArrivalTime_feature", "_UI_OpenWorkloadType_type"),
+				 WorkloadPackage.Literals.OPEN_WORKLOAD_TYPE__INTER_ARRIVAL_TIME,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns OpenWorkloadType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/OpenWorkloadType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_OpenWorkloadType_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..435341e384fad1a7b17d8e8a717316518da86e6c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.ScenarioBehavior;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.ScenarioBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ScenarioBehaviorItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ScenarioBehaviorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns ScenarioBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ScenarioBehavior"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ScenarioBehavior_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ScenarioBehavior.class)) {
+			case WorkloadPackage.SCENARIO_BEHAVIOR__ACTIONS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createLoopUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createDelayUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createBranchUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createEntryLevelSystemCall()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1b47d741ed5a52283fa0c13c205a9a019a1c7c5b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.workload.UsageScenario;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.UsageScenario} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UsageScenarioItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UsageScenarioItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.USAGE_SCENARIO__SCENARIO_BEHAVIOR);
+			childrenFeatures.add(WorkloadPackage.Literals.USAGE_SCENARIO__WORKLOAD_TYPE);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns UsageScenario.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/UsageScenario"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((UsageScenario)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_UsageScenario_type") :
+			getString("_UI_UsageScenario_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(UsageScenario.class)) {
+			case WorkloadPackage.USAGE_SCENARIO__SCENARIO_BEHAVIOR:
+			case WorkloadPackage.USAGE_SCENARIO__WORKLOAD_TYPE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.USAGE_SCENARIO__SCENARIO_BEHAVIOR,
+				 WorkloadFactory.eINSTANCE.createScenarioBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.USAGE_SCENARIO__WORKLOAD_TYPE,
+				 WorkloadFactory.eINSTANCE.createOpenWorkloadType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.USAGE_SCENARIO__WORKLOAD_TYPE,
+				 WorkloadFactory.eINSTANCE.createClosedWorkloadType()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..e84907e375aa239897e78fc96876611c6ccd2016
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Workload edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class WorkloadEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final WorkloadEditPlugin INSTANCE = new WorkloadEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorkloadEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     ApplicationlevelEditPlugin.INSTANCE,
+		     CoreEditPlugin.INSTANCE,
+		     IdentifierEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4856f10248917e2519eca08779dbf6c4e913e7a9
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.workload.Workload;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.Workload} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WorkloadItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorkloadItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addSystemPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the System feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSystemPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Workload_system_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Workload_system_feature", "_UI_Workload_type"),
+				 WorkloadPackage.Literals.WORKLOAD__SYSTEM,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.WORKLOAD__USAGE_SCENARIOS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns Workload.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Workload"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Workload)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Workload_type") :
+			getString("_UI_Workload_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Workload.class)) {
+			case WorkloadPackage.WORKLOAD__USAGE_SCENARIOS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.WORKLOAD__USAGE_SCENARIOS,
+				 WorkloadFactory.eINSTANCE.createUsageScenario()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec6c066bd3b1d3997140cc28a3045a39aef733d7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java
@@ -0,0 +1,416 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+import edu.kit.ipd.descartes.mm.workload.util.WorkloadAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WorkloadItemProviderAdapterFactory extends WorkloadAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorkloadItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.Workload} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected WorkloadItemProvider workloadItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.Workload}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createWorkloadAdapter() {
+		if (workloadItemProvider == null) {
+			workloadItemProvider = new WorkloadItemProvider(this);
+		}
+
+		return workloadItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.UsageScenario} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UsageScenarioItemProvider usageScenarioItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.UsageScenario}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createUsageScenarioAdapter() {
+		if (usageScenarioItemProvider == null) {
+			usageScenarioItemProvider = new UsageScenarioItemProvider(this);
+		}
+
+		return usageScenarioItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.ScenarioBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ScenarioBehaviorItemProvider scenarioBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.ScenarioBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createScenarioBehaviorAdapter() {
+		if (scenarioBehaviorItemProvider == null) {
+			scenarioBehaviorItemProvider = new ScenarioBehaviorItemProvider(this);
+		}
+
+		return scenarioBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.OpenWorkloadType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OpenWorkloadTypeItemProvider openWorkloadTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.OpenWorkloadType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createOpenWorkloadTypeAdapter() {
+		if (openWorkloadTypeItemProvider == null) {
+			openWorkloadTypeItemProvider = new OpenWorkloadTypeItemProvider(this);
+		}
+
+		return openWorkloadTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ClosedWorkloadTypeItemProvider closedWorkloadTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createClosedWorkloadTypeAdapter() {
+		if (closedWorkloadTypeItemProvider == null) {
+			closedWorkloadTypeItemProvider = new ClosedWorkloadTypeItemProvider(this);
+		}
+
+		return closedWorkloadTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.LoopUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LoopUserActionItemProvider loopUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.LoopUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createLoopUserActionAdapter() {
+		if (loopUserActionItemProvider == null) {
+			loopUserActionItemProvider = new LoopUserActionItemProvider(this);
+		}
+
+		return loopUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.DelayUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DelayUserActionItemProvider delayUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.DelayUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDelayUserActionAdapter() {
+		if (delayUserActionItemProvider == null) {
+			delayUserActionItemProvider = new DelayUserActionItemProvider(this);
+		}
+
+		return delayUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.BranchUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BranchUserActionItemProvider branchUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.BranchUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBranchUserActionAdapter() {
+		if (branchUserActionItemProvider == null) {
+			branchUserActionItemProvider = new BranchUserActionItemProvider(this);
+		}
+
+		return branchUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntryLevelSystemCallItemProvider entryLevelSystemCallItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEntryLevelSystemCallAdapter() {
+		if (entryLevelSystemCallItemProvider == null) {
+			entryLevelSystemCallItemProvider = new EntryLevelSystemCallItemProvider(this);
+		}
+
+		return entryLevelSystemCallItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.CallParameterSetting} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CallParameterSettingItemProvider callParameterSettingItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.CallParameterSetting}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCallParameterSettingAdapter() {
+		if (callParameterSettingItemProvider == null) {
+			callParameterSettingItemProvider = new CallParameterSettingItemProvider(this);
+		}
+
+		return callParameterSettingItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (workloadItemProvider != null) workloadItemProvider.dispose();
+		if (usageScenarioItemProvider != null) usageScenarioItemProvider.dispose();
+		if (scenarioBehaviorItemProvider != null) scenarioBehaviorItemProvider.dispose();
+		if (openWorkloadTypeItemProvider != null) openWorkloadTypeItemProvider.dispose();
+		if (closedWorkloadTypeItemProvider != null) closedWorkloadTypeItemProvider.dispose();
+		if (loopUserActionItemProvider != null) loopUserActionItemProvider.dispose();
+		if (delayUserActionItemProvider != null) delayUserActionItemProvider.dispose();
+		if (branchUserActionItemProvider != null) branchUserActionItemProvider.dispose();
+		if (entryLevelSystemCallItemProvider != null) entryLevelSystemCallItemProvider.dispose();
+		if (callParameterSettingItemProvider != null) callParameterSettingItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
similarity index 84%
rename from edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java
rename to edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
index 19a9ac385bc4310b26d49efee33d03d5a0d16b30..b5b5d519f684b619f773ec8e29730e068980ff96 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
@@ -10,21 +10,24 @@ import java.util.List;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 
+import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 
 /**
- * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.StartUserAction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.WorkloadType} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class StartUserActionItemProvider
-	extends AbstractUserActionItemProvider
+public class WorkloadTypeItemProvider
+	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -37,7 +40,7 @@ public class StartUserActionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public StartUserActionItemProvider(AdapterFactory adapterFactory) {
+	public WorkloadTypeItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -56,17 +59,6 @@ public class StartUserActionItemProvider
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This returns StartUserAction.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StartUserAction"));
-	}
-
 	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -75,7 +67,7 @@ public class StartUserActionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_StartUserAction_type");
+		return getString("_UI_WorkloadType_type");
 	}
 
 	/**
@@ -103,4 +95,15 @@ public class StartUserActionItemProvider
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
 }