diff --git a/edu.kit.ipd.descartes.core.edit/.classpath b/edu.kit.ipd.descartes.core.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.core.edit/.project b/edu.kit.ipd.descartes.core.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..cb428e68d0f990be8512587ff9a7daa27f748853
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.core.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.core.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.core.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..afdeffb40dee62fff0d6130f2f14a22c98889641
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.core.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.core.provider.CoreEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.core.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.core.edit/build.properties b/edu.kit.ipd.descartes.core.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.core.edit/plugin.properties b/edu.kit.ipd.descartes.core.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..76afd017a203b928c822e62f7d70a962c8b162a4
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/plugin.properties
@@ -0,0 +1,25 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Core Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_NamedElement_type = Named Element
+_UI_Entity_type = Entity
+_UI_Connector_type = Connector
+_UI_AdaptableEntity_type = Adaptable Entity
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_NamedElement_name_feature = Name
+_UI_Unknown_feature = Unspecified
+
diff --git a/edu.kit.ipd.descartes.core.edit/plugin.xml b/edu.kit.ipd.descartes.core.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a76a8758c498c419d93c0040baa34602c2d31a9a
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/core/0.1"
+            class="edu.kit.ipd.descartes.core.provider.CoreItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/AdaptableEntityItemProvider.java b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/AdaptableEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b9d4c985f9345fd209ac83a74c14812ed9e6ece7
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/AdaptableEntityItemProvider.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.core.provider;
+
+
+import edu.kit.ipd.descartes.core.AdaptableEntity;
+
+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.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.core.AdaptableEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdaptableEntityItemProvider
+	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 AdaptableEntityItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((AdaptableEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AdaptableEntity_type") :
+			getString("_UI_AdaptableEntity_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);
+		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.core.edit/src/edu/kit/ipd/descartes/core/provider/ConnectorItemProvider.java b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/ConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9648a80f36722c911dedd48ed352c805d16cdc18
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/ConnectorItemProvider.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.core.provider;
+
+
+import edu.kit.ipd.descartes.core.Connector;
+
+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.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.core.Connector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectorItemProvider
+	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 ConnectorItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Connector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Connector_type") :
+			getString("_UI_Connector_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);
+		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.core.edit/src/edu/kit/ipd/descartes/core/provider/CoreEditPlugin.java b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/CoreEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..532a9845e9df8078bbc23cd5d6cc123c922bc4fc
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/CoreEditPlugin.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.core.provider;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Core edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class CoreEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final CoreEditPlugin INSTANCE = new CoreEditPlugin();
+
+	/**
+	 * 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 CoreEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     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.core.edit/src/edu/kit/ipd/descartes/core/provider/CoreItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/CoreItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5ff6fc754f170da55941be616771ae54a27924a
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/CoreItemProviderAdapterFactory.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.core.provider;
+
+import edu.kit.ipd.descartes.core.util.CoreAdapterFactory;
+
+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 CoreItemProviderAdapterFactory extends CoreAdapterFactory 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 CoreItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * 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() {
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/EntityItemProvider.java b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/EntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d24ad4378699dbff5a2df66b2eec77e26e250cce
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/EntityItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.core.provider;
+
+
+import edu.kit.ipd.descartes.core.CorePackage;
+import edu.kit.ipd.descartes.core.Entity;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierItemProvider;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.core.Entity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EntityItemProvider
+	extends IdentifierItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntityItemProvider(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);
+		}
+		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_NamedElement_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"),
+				 CorePackage.Literals.NAMED_ELEMENT__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Entity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Entity_type") :
+			getString("_UI_Entity_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(Entity.class)) {
+			case CorePackage.ENTITY__NAME:
+				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 CoreEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/NamedElementItemProvider.java b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/NamedElementItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f224858e65f79b40d932f9503d4307ed2df94d3
--- /dev/null
+++ b/edu.kit.ipd.descartes.core.edit/src/edu/kit/ipd/descartes/core/provider/NamedElementItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.core.provider;
+
+
+import edu.kit.ipd.descartes.core.CorePackage;
+import edu.kit.ipd.descartes.core.NamedElement;
+
+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.core.NamedElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NamedElementItemProvider
+	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 NamedElementItemProvider(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);
+		}
+		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_NamedElement_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"),
+				 CorePackage.Literals.NAMED_ELEMENT__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((NamedElement)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_NamedElement_type") :
+			getString("_UI_NamedElement_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(NamedElement.class)) {
+			case CorePackage.NAMED_ELEMENT__NAME:
+				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 CoreEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.identifier.edit/.classpath b/edu.kit.ipd.descartes.identifier.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.identifier.edit/.project b/edu.kit.ipd.descartes.identifier.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..4643ed57e822b2931bfa8a8d3a36a8bbc9cf4d61
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.identifier.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.identifier.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.identifier.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..bcb022673dc5c6fc72568d88b539c3b685e47ef6
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.identifier.edit;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.identifier.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.identifier.edit/build.properties b/edu.kit.ipd.descartes.identifier.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.identifier.edit/plugin.properties b/edu.kit.ipd.descartes.identifier.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..a6e8947ab73ad2b4984884e50020fb460509cdac
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/plugin.properties
@@ -0,0 +1,22 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Identifier Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Identifier_type = Identifier
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Identifier_id_feature = Id
+_UI_Unknown_feature = Unspecified
+
diff --git a/edu.kit.ipd.descartes.identifier.edit/plugin.xml b/edu.kit.ipd.descartes.identifier.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c616dec0a18064ec22bf9e79f80e48ee6ecc8a45
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/identifier/0.1"
+            class="edu.kit.ipd.descartes.identifier.provider.IdentifierItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierEditPlugin.java b/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc1eb63cffba5acd4bb9fc998efcd4d6da9a6495
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierEditPlugin.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.identifier.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Identifier edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class IdentifierEditPlugin extends EMFPlugin {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT";
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final IdentifierEditPlugin INSTANCE = new IdentifierEditPlugin();
+
+	/**
+	 * 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 IdentifierEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		   });
+	}
+
+	/**
+	 * 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.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierItemProvider.java b/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d2c584b84c24f8102a2b3daf6c2ed59eb41b59f
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.identifier.provider;
+
+
+import edu.kit.ipd.descartes.identifier.Identifier;
+import edu.kit.ipd.descartes.identifier.IdentifierPackage;
+
+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.identifier.Identifier} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IdentifierItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT";
+
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IdentifierItemProvider(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);
+
+			addIdPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Id feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addIdPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Identifier_id_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Identifier_id_feature", "_UI_Identifier_type"),
+				 IdentifierPackage.Literals.IDENTIFIER__ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Identifier)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Identifier_type") :
+			getString("_UI_Identifier_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(Identifier.class)) {
+			case IdentifierPackage.IDENTIFIER__ID:
+				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 IdentifierEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..bc9a8f17ae7e6aa4515726c79fc188fd04af5b50
--- /dev/null
+++ b/edu.kit.ipd.descartes.identifier.edit/src/edu/kit/ipd/descartes/identifier/provider/IdentifierItemProviderAdapterFactory.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.identifier.provider;
+
+import edu.kit.ipd.descartes.identifier.util.IdentifierAdapterFactory;
+
+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 IdentifierItemProviderAdapterFactory extends IdentifierAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT";
+
+	/**
+	 * 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 IdentifierItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * 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() {
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/.classpath b/edu.kit.ipd.descartes.mm.adaptation.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/.project b/edu.kit.ipd.descartes.mm.adaptation.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..059cadd0b9abb53e295ebec2e7b2652abc6ff9e3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.adaptation.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.adaptation.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..81f5ad0095d0da2c668021cd1df145cfa0c025d7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.adaptation.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.mm.adaptation.provider.AdaptationEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.mm.adaptation.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.mm.adaptation;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.adaptationpoints;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.adaptationpoints.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.perfdatarepo;visibility:=reexport,
+ edu.kit.ipd.descartes.perfdatarepo.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/build.properties b/edu.kit.ipd.descartes.mm.adaptation.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAction_adaptationActionOperation_AdaptationActionOperation.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAction_adaptationActionOperation_AdaptationActionOperation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e10818d6968ea640b9caea9abc8da8fca1a593bd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAction_adaptationActionOperation_AdaptationActionOperation.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_ActionReference.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_ActionReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b07f693b58dd6007ddbb1f3328b72e048869213
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_ActionReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Branch.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Branch.gif
new file mode 100644
index 0000000000000000000000000000000000000000..df228332e97da0002a4d37014bffad23c9bd1140
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Branch.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_BranchAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_BranchAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a17c76f85589d5314721cf04e34a791ecafa9b68
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_BranchAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Loop.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Loop.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d7c5af79864fea79bd032d317f21d20186d9c0c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Loop.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_LoopAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_LoopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5643b74f35289f8ebdd6dc51ba377623fb10581f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_LoopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Start.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Start.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b07f693b58dd6007ddbb1f3328b72e048869213
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Start.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_StartAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_StartAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb0eee99169cd347715dca1f30378d424a9d0ef7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_StartAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Stop.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Stop.gif
new file mode 100644
index 0000000000000000000000000000000000000000..17f115f632be56636be274451f037d05afdcf170
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_Stop.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_StopAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_StopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dffc0a5ca466028783f0ab8ede814763b8e6fe
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationPlan_steps_StopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_actions_Action.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_actions_Action.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bb0eee99169cd347715dca1f30378d424a9d0ef7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_actions_Action.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_goal_OverallGoal.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_goal_OverallGoal.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4a6adcc9632f94e3f7f6f9c3df1711833b187d1e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_goal_OverallGoal.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_parameters_Parameter.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_parameters_Parameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1a59694a811e0f7bd281b90d08436d79a03d3b55
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_parameters_Parameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_strategies_Strategy.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_strategies_Strategy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..931730f4ef93e1cb04ad77c9a368044a7c7b0161
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_strategies_Strategy.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_tactics_Tactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_tactics_Tactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7d7c59b0d4aa9464846f6db28d495511066a9e67
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateAdaptationProcess_tactics_Tactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_branches_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_branches_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11943a3c05dfdfeaaf575a1e3658808308036bdf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_branches_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_conditionFalseBranch_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_conditionFalseBranch_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11943a3c05dfdfeaaf575a1e3658808308036bdf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_conditionFalseBranch_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_conditionTrueBranch_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_conditionTrueBranch_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11943a3c05dfdfeaaf575a1e3658808308036bdf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_conditionTrueBranch_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_falseBranch_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_falseBranch_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11943a3c05dfdfeaaf575a1e3658808308036bdf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_falseBranch_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_trueBranch_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_trueBranch_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11943a3c05dfdfeaaf575a1e3658808308036bdf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranchAction_trueBranch_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranch_branches_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranch_branches_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af3a295d908347198e73b116d7fab1e5e57d2c04
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateBranch_branches_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateLoopAction_body_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateLoopAction_body_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f14828dda92c203483cc21aece8c47152792bde1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateLoopAction_body_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateLoop_body_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateLoop_body_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b5901d2142d6aaac4868bc7a97b8efe5e730a43
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateLoop_body_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateOverallGoal_hasObjective_Objective.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateOverallGoal_hasObjective_Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6083e651fc97b8be3e843f837bd07f52a6251b84
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateOverallGoal_hasObjective_Objective.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateOverallGoal_objectives_Objective.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateOverallGoal_objectives_Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6083e651fc97b8be3e843f837bd07f52a6251b84
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateOverallGoal_objectives_Objective.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_actions_Action.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_actions_Action.gif
new file mode 100644
index 0000000000000000000000000000000000000000..051fac7db4dc28ebcb9f8d75ba28af74268860c6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_actions_Action.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_parameters_Parameter.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_parameters_Parameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f9e5fa823dae523cbf28d74b8e4f586df9098150
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_parameters_Parameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_strategies_Strategy.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_strategies_Strategy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..064dd753f37e2cb898d8ce99bbaf2b968d7d6529
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_strategies_Strategy.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_tactics_Tactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_tactics_Tactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1571ae8334e424a299d1aeef74e6747bac5aab0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateRepository_tactics_Tactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_actions_Action.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_actions_Action.gif
new file mode 100644
index 0000000000000000000000000000000000000000..788a4f2ce6eb526e832bb0b2b074a27683352908
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_actions_Action.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_goal_OverallGoal.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_goal_OverallGoal.gif
new file mode 100644
index 0000000000000000000000000000000000000000..de9650f4d1f0f8d387b79a61a0ec2457bd30562e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_goal_OverallGoal.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_parameters_Parameter.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_parameters_Parameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98225e0fd06f77676be846bb565f58034d0833ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_parameters_Parameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_strategies_Strategy.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_strategies_Strategy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7938130156d8e423a667cdcb3270b4ab76550849
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_strategies_Strategy.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_tactics_Tactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_tactics_Tactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..99ae7757087e188240ff3538daedfcda470fe09c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_tactics_Tactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_tactics_WeightedTactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_tactics_WeightedTactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f7e0ea73df17734ebd060b0c1f3638ea7af0126e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStaRepository_tactics_WeightedTactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_tactics_WeightedTactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_tactics_WeightedTactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..997e434522761bb0741f11f33b621c2db8f51096
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_tactics_WeightedTactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_triggeringEvents_Event.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_triggeringEvents_Event.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5f8c2018a1c8f73a9321b5aab5c542bdb17ca0b2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_triggeringEvents_Event.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_weightingFunction_WeightingFunction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_weightingFunction_WeightingFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9e96e9954d6d4bf70cf208a74232237b172f7d6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateStrategy_weightingFunction_WeightingFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateTactic_implementedPlan_AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateTactic_implementedPlan_AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..870d2b208f05123cec95dcfa3e92e1f61f09dcfb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateTactic_implementedPlan_AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateWeightingFunction_weightedMetrics_WeightedMetric.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateWeightingFunction_weightedMetrics_WeightedMetric.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d8d5fa98a50e056bfd2e555f6deffb89791f2bd5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/ctool16/CreateWeightingFunction_weightedMetrics_WeightedMetric.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Action.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Action.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Action.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/ActionReference.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/ActionReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/ActionReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationActionOperation.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationActionOperation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationActionOperation.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationOperation.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationOperation.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationOperation.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationPlan.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationPlan.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationPlan.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationProcess.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationProcess.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/AdaptationProcess.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Branch.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Branch.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33a997a1606acf7cb8a32921faeee1e5c809a0cb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Branch.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/BranchAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/BranchAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8a5c70cbd74c87cb3b1df383e0c242ede4660c3b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/BranchAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Event.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Event.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4b530eca173b1070d5d876a0154bc370d8896b4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Event.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Loop.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Loop.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a17dc7d88e993e89a1d5f913ddfab16b1676c5bb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Loop.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/LoopAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/LoopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/LoopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Objective.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Objective.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Objective.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/OverallGoal.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/OverallGoal.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2124f3e3ab2646fd6aec35b94fe003b565ba4c2c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/OverallGoal.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Parameter.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Parameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a3908bcf7b4ec0b29040bb1ef944c4d5a93fbb32
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Parameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Repository.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Repository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Repository.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StaRepository.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StaRepository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4fb30e96873d2484faec9d508dcbdd69e73d82e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StaRepository.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Start.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Start.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Start.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StartAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StartAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StartAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Stop.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Stop.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Stop.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StopAction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/StopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Strategy.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Strategy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1f8afa47661703c49bd5fa535dcb1342deb6fc4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Strategy.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Tactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Tactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4a8af418445186dec6bb4f750c13a832181fe76
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/Tactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightedMetric.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightedMetric.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightedMetric.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightedTactic.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightedTactic.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4365960a04b1589a21b7607f45f9b5907e2f01a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightedTactic.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightingFunction.gif b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightingFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptation.edit/icons/full/obj16/WeightingFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties b/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..7ef18ebe21c1c055f53e35021f51fb2294b3d30f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.properties
@@ -0,0 +1,146 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Adaptation Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Strategy_type = Strategy
+_UI_WeightingFunction_type = Weighting Function
+_UI_WeightedTactic_type = Weighted Tactic
+_UI_Objective_type = Objective
+_UI_Tactic_type = Tactic
+_UI_AbstractControlFlowElement_type = Abstract Control Flow Element
+_UI_Start_type = Start
+_UI_Stop_type = Stop
+_UI_Loop_type = Loop
+_UI_Branch_type = Branch
+_UI_ActionReference_type = Action Reference
+_UI_AdaptationPlan_type = Plan
+_UI_Event_type = Event
+_UI_Action_type = Action
+_UI_Repository_type = Repository
+_UI_OverallGoal_type = Overall Goal
+_UI_Parameter_type = Parameter
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Strategy_objective_feature = Objective
+_UI_Strategy_triggeringEvents_feature = Triggering Events
+_UI_Strategy_tactics_feature = Tactics
+_UI_Strategy_weightingFunction_feature = Weighting Function
+_UI_WeightingFunction_function_feature = Function
+_UI_WeightedTactic_uses_feature = Uses
+_UI_WeightedTactic_weight_feature = Weight
+_UI_Objective_specification_feature = Specification
+_UI_Tactic_implementedPlan_feature = Implemented Plan
+_UI_Tactic_inputParams_feature = Input Params
+_UI_Tactic_outputParam_feature = Output Param
+_UI_AbstractControlFlowElement_predecessor_feature = Predecessor
+_UI_AbstractControlFlowElement_successor_feature = Successor
+_UI_Loop_counter_feature = Counter
+_UI_Loop_body_feature = Body
+_UI_Branch_condition_feature = Condition
+_UI_Branch_branches_feature = Branches
+_UI_ActionReference_refersTo_feature = Refers To
+_UI_AdaptationPlan_steps_feature = Steps
+_UI_Event_triggers_feature = Triggers
+_UI_Action_outputParam_feature = Output Param
+_UI_Action_inputParams_feature = Input Params
+_UI_Action_referredAdaptationPoint_feature = Referred Adaptation Point
+_UI_Repository_tactics_feature = Tactics
+_UI_Repository_actions_feature = Actions
+_UI_Repository_strategies_feature = Strategies
+_UI_Repository_parameters_feature = Parameters
+_UI_OverallGoal_hasObjective_feature = Has Objective
+_UI_OverallGoal_description_feature = Description
+_UI_Parameter_name_feature = Name
+_UI_Parameter_type_feature = Type
+_UI_Unknown_feature = Unspecified
+
+_UI_StaRepository_type = Sta Repository
+_UI_StaRepository_tactics_feature = Tactics
+_UI_StaRepository_actions_feature = Actions
+_UI_StaRepository_strategies_feature = Strategies
+_UI_StaRepository_parameters_feature = Parameters
+_UI_WeightedTactic_currentWeight_feature = Current Weight
+_UI_WeightedTactic_defaultWeight_feature = Default Weight
+_UI_WeightedTactic_usedTactic_feature = Used Tactic
+_UI_Action_operationType_feature = Operation Type
+_UI_StartAction_type = Start Action
+_UI_StopAction_type = Stop Action
+_UI_LoopAction_type = Loop Action
+_UI_BranchAction_type = Branch Action
+_UI_LoopAction_counter_feature = Counter
+_UI_LoopAction_body_feature = Body
+_UI_BranchAction_condition_feature = Condition
+_UI_BranchAction_branches_feature = Branches
+_UI_WeightedMetric_type = Weighted Metric
+_UI_WeightingFunction_weightedMetrics_feature = Weighted Metrics
+_UI_WeightingFunction_calculatedImpact_feature = Calculated Impact
+_UI_WeightedMetric_value_feature = Value
+_UI_WeightedMetric_weightForMetric_feature = Weight For Metric
+_UI_WeightedTactic_lastImpact_feature = Last Impact
+_UI_StaRepository_goal_feature = Goal
+_UI_OverallGoal_objectives_feature = Objectives
+_UI_WeightedMetric_weight_feature = Weight
+_UI_WeightedMetric_metricType_feature = Metric Type
+_UI_AdaptationProcess_type = Process
+_UI_AdaptationProcess_tactics_feature = Tactics
+_UI_AdaptationProcess_actions_feature = Actions
+_UI_AdaptationProcess_strategies_feature = Strategies
+_UI_AdaptationProcess_parameters_feature = Parameters
+_UI_AdaptationProcess_goal_feature = Goal
+_UI_BranchAction_trueBranch_feature = True Branch
+_UI_BranchAction_falseBranch_feature = False Branch
+_UI_BranchAction_conditionTrueBranch_feature = Condition True Branch
+_UI_BranchAction_conditionFalseBranch_feature = Condition False Branch
+_UI_BranchAction_context_feature = Context
+_UI_AdaptationOperation_NOT_SET_literal = NOT_SET
+_UI_AdaptationOperation_SCALE_UP_literal = SCALE_UP
+_UI_AdaptationOperation_SCALE_DOWN_literal = SCALE_DOWN
+_UI_AdaptationOperation_SCALE_OUT_literal = SCALE_OUT
+_UI_AdaptationOperation_SCALE_IN_literal = SCALE_IN
+_UI_AdaptationOperation_MIGRATE_literal = MIGRATE
+_UI_AdaptationOperation_LEAST_UTILIZED_FIRST_literal = LEAST_UTILIZED_FIRST
+_UI_AdaptationOperation_MOST_UTILIZED_FIRST_literal = MOST_UTILIZED_FIRST
+_UI_AdaptationOperation_RANDOM_literal = RANDOM
+_UI_Action_adaptationActionScope_feature = Adaptation Action Scope
+_UI_Action_adaptationActionDirection_feature = Adaptation Action Direction
+_UI_AdaptationScope_ALL_literal = ALL
+_UI_AdaptationScope_LEAST_UTILIZED_FIRST_literal = LEAST_UTILIZED_FIRST
+_UI_AdaptationScope_MOST_UTILIZED_FIRST_literal = MOST_UTILIZED_FIRST
+_UI_AdaptationScope_RANDOM_literal = RANDOM
+_UI_AdaptationDirection_NOT_SET_literal = NOT_SET
+_UI_AdaptationDirection_INCREASE_literal = INCREASE
+_UI_AdaptationDirection_DECREASE_literal = DECREASE
+_UI_AdaptationDirection_MIGRATE_literal = MIGRATE
+_UI_AdaptationDirection_ANY_literal = ANY
+_UI_Action_adaptationOperation_feature = Adaptation Operation
+_UI_AdaptationOperation_ALL_literal = ALL
+_UI_AdaptationOperation_type = Operation
+_UI_AdaptationOperation_adaptationActionScope_feature = Adaptation Action Scope
+_UI_AdaptationOperation_adaptationActionDirection_feature = Adaptation Action Direction
+_UI_Parameter_NOT_SET_literal = NOT_SET
+_UI_Parameter_SCALE_UP_literal = SCALE_UP
+_UI_Parameter_SCALE_DOWN_literal = SCALE_DOWN
+_UI_Parameter_SCALE_OUT_literal = SCALE_OUT
+_UI_Parameter_SCALE_IN_literal = SCALE_IN
+_UI_Parameter_MIGRATE_literal = MIGRATE
+_UI_Parameter_LEAST_UTILIZED_FIRST_literal = LEAST_UTILIZED_FIRST
+_UI_Parameter_MOST_UTILIZED_FIRST_literal = MOST_UTILIZED_FIRST
+_UI_Parameter_RANDOM_literal = RANDOM
+_UI_AdaptationActionOperation_type = Action Operation
+_UI_Action_adaptationActionOperation_feature = Adaptation Action Operation
+_UI_AdaptationActionOperation_adaptationOperationScope_feature = Adaptation Operation Scope
+_UI_AdaptationActionOperation_adaptationOperationDirection_feature = Adaptation Operation Direction
+_UI_AdaptationScope_NOT_SET_literal = NOT_SET
+_UI_AdaptationScope_THIS_literal = THIS
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.xml b/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1d5cf4e1323152dcd67f932a308cc171350ea432
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/adaptation/0.1"
+            class="edu.kit.ipd.descartes.mm.adaptation.provider.AdaptationItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AbstractControlFlowElementItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AbstractControlFlowElementItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b90027a824b7e311b01b1ad8a15643e1747f74a5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AbstractControlFlowElementItemProvider.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AbstractControlFlowElement;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.AbstractControlFlowElement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractControlFlowElementItemProvider
+    extends IdentifierItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public AbstractControlFlowElementItemProvider(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);
+
+            addPredecessorPropertyDescriptor(object);
+            addSuccessorPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Predecessor feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addPredecessorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_AbstractControlFlowElement_predecessor_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_AbstractControlFlowElement_predecessor_feature", "_UI_AbstractControlFlowElement_type"),
+                 AdaptationPackage.Literals.ABSTRACT_CONTROL_FLOW_ELEMENT__PREDECESSOR,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Successor feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addSuccessorPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_AbstractControlFlowElement_successor_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_AbstractControlFlowElement_successor_feature", "_UI_AbstractControlFlowElement_type"),
+                 AdaptationPackage.Literals.ABSTRACT_CONTROL_FLOW_ELEMENT__SUCCESSOR,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((AbstractControlFlowElement)object).getId();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AbstractControlFlowElement_type") :
+            getString("_UI_AbstractControlFlowElement_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);
+        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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ActionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d67103ae3dc5f65228b94cf7effa2410d3335da0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ActionItemProvider.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.Action;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+
+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.adaptation.Action} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActionItemProvider
+    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 ActionItemProvider(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);
+
+            addOutputParamPropertyDescriptor(object);
+            addInputParamsPropertyDescriptor(object);
+            addReferredAdaptationPointPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Output Param feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addOutputParamPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Action_outputParam_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Action_outputParam_feature", "_UI_Action_type"),
+                 AdaptationPackage.Literals.ACTION__OUTPUT_PARAM,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Input Params feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addInputParamsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Action_inputParams_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Action_inputParams_feature", "_UI_Action_type"),
+                 AdaptationPackage.Literals.ACTION__INPUT_PARAMS,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Referred Adaptation Point feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addReferredAdaptationPointPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Action_referredAdaptationPoint_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Action_referredAdaptationPoint_feature", "_UI_Action_type"),
+                 AdaptationPackage.Literals.ACTION__REFERRED_ADAPTATION_POINT,
+                 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(AdaptationPackage.Literals.ACTION__ADAPTATION_ACTION_OPERATION);
+        }
+        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 Action.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Action"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Action)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Action_type") :
+            getString("_UI_Action_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(Action.class)) {
+            case AdaptationPackage.ACTION__ADAPTATION_ACTION_OPERATION:
+                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
+                (AdaptationPackage.Literals.ACTION__ADAPTATION_ACTION_OPERATION,
+                 AdaptationFactory.eINSTANCE.createAdaptationActionOperation()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ActionReferenceItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ActionReferenceItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..029402873fd9b08d98e2ed6d6f8b09ce45b56653
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ActionReferenceItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.ActionReference;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+
+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.adaptation.ActionReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActionReferenceItemProvider
+    extends AbstractControlFlowElementItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public ActionReferenceItemProvider(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);
+
+            addRefersToPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Refers To feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addRefersToPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ActionReference_refersTo_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ActionReference_refersTo_feature", "_UI_ActionReference_type"),
+                 AdaptationPackage.Literals.ACTION_REFERENCE__REFERS_TO,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns ActionReference.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ActionReference"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((ActionReference)object).getId();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ActionReference_type") :
+            getString("_UI_ActionReference_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);
+        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.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b59a6480da77c318dbb81d162539254d408b010c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationActionOperationItemProvider.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationScope;
+
+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.adaptation.AdaptationActionOperation} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdaptationActionOperationItemProvider
+    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 AdaptationActionOperationItemProvider(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);
+
+            addAdaptationOperationScopePropertyDescriptor(object);
+            addAdaptationOperationDirectionPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Adaptation Operation Scope feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addAdaptationOperationScopePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_AdaptationActionOperation_adaptationOperationScope_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_AdaptationActionOperation_adaptationOperationScope_feature", "_UI_AdaptationActionOperation_type"),
+                 AdaptationPackage.Literals.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_SCOPE,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Adaptation Operation Direction feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addAdaptationOperationDirectionPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_AdaptationActionOperation_adaptationOperationDirection_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_AdaptationActionOperation_adaptationOperationDirection_feature", "_UI_AdaptationActionOperation_type"),
+                 AdaptationPackage.Literals.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_DIRECTION,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns AdaptationActionOperation.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/AdaptationActionOperation"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        AdaptationScope labelValue = ((AdaptationActionOperation)object).getAdaptationOperationScope();
+        String label = labelValue == null ? null : labelValue.toString();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AdaptationActionOperation_type") :
+            getString("_UI_AdaptationActionOperation_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(AdaptationActionOperation.class)) {
+            case AdaptationPackage.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_SCOPE:
+            case AdaptationPackage.ADAPTATION_ACTION_OPERATION__ADAPTATION_OPERATION_DIRECTION:
+                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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationEditPlugin.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..559e68e2dc02f1f56ac3950972119a17528cac76
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationEditPlugin.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.provider.AdaptationpointsEditPlugin;
+
+import edu.kit.ipd.descartes.perfdatarepo.provider.PerfdatarepoEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Adaptation edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class AdaptationEditPlugin extends EMFPlugin {
+    /**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public static final AdaptationEditPlugin INSTANCE = new AdaptationEditPlugin();
+
+    /**
+     * 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 AdaptationEditPlugin() {
+        super
+          (new ResourceLocator [] {
+             AdaptationpointsEditPlugin.INSTANCE,
+             CoreEditPlugin.INSTANCE,
+             IdentifierEditPlugin.INSTANCE,
+             PerfdatarepoEditPlugin.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.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..59ce5070d0c016ee3e94213f58a5058a20d1b8c1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationItemProviderAdapterFactory.java
@@ -0,0 +1,608 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+import edu.kit.ipd.descartes.mm.adaptation.util.AdaptationAdapterFactory;
+
+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 AdaptationItemProviderAdapterFactory extends AdaptationAdapterFactory 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 AdaptationItemProviderAdapterFactory() {
+        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.adaptation.AdaptationProcess} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected AdaptationProcessItemProvider adaptationProcessItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.AdaptationProcess}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createAdaptationProcessAdapter() {
+        if (adaptationProcessItemProvider == null) {
+            adaptationProcessItemProvider = new AdaptationProcessItemProvider(this);
+        }
+
+        return adaptationProcessItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.OverallGoal} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected OverallGoalItemProvider overallGoalItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.OverallGoal}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createOverallGoalAdapter() {
+        if (overallGoalItemProvider == null) {
+            overallGoalItemProvider = new OverallGoalItemProvider(this);
+        }
+
+        return overallGoalItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.Strategy} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected StrategyItemProvider strategyItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Strategy}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createStrategyAdapter() {
+        if (strategyItemProvider == null) {
+            strategyItemProvider = new StrategyItemProvider(this);
+        }
+
+        return strategyItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.Event} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected EventItemProvider eventItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Event}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createEventAdapter() {
+        if (eventItemProvider == null) {
+            eventItemProvider = new EventItemProvider(this);
+        }
+
+        return eventItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.Objective} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ObjectiveItemProvider objectiveItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Objective}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createObjectiveAdapter() {
+        if (objectiveItemProvider == null) {
+            objectiveItemProvider = new ObjectiveItemProvider(this);
+        }
+
+        return objectiveItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.WeightingFunction} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected WeightingFunctionItemProvider weightingFunctionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.WeightingFunction}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createWeightingFunctionAdapter() {
+        if (weightingFunctionItemProvider == null) {
+            weightingFunctionItemProvider = new WeightingFunctionItemProvider(this);
+        }
+
+        return weightingFunctionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.WeightedMetric} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected WeightedMetricItemProvider weightedMetricItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.WeightedMetric}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createWeightedMetricAdapter() {
+        if (weightedMetricItemProvider == null) {
+            weightedMetricItemProvider = new WeightedMetricItemProvider(this);
+        }
+
+        return weightedMetricItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.WeightedTactic} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected WeightedTacticItemProvider weightedTacticItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.WeightedTactic}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createWeightedTacticAdapter() {
+        if (weightedTacticItemProvider == null) {
+            weightedTacticItemProvider = new WeightedTacticItemProvider(this);
+        }
+
+        return weightedTacticItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.Tactic} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected TacticItemProvider tacticItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Tactic}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createTacticAdapter() {
+        if (tacticItemProvider == null) {
+            tacticItemProvider = new TacticItemProvider(this);
+        }
+
+        return tacticItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.StartAction} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected StartActionItemProvider startActionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.StartAction}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createStartActionAdapter() {
+        if (startActionItemProvider == null) {
+            startActionItemProvider = new StartActionItemProvider(this);
+        }
+
+        return startActionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.StopAction} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected StopActionItemProvider stopActionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.StopAction}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createStopActionAdapter() {
+        if (stopActionItemProvider == null) {
+            stopActionItemProvider = new StopActionItemProvider(this);
+        }
+
+        return stopActionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.LoopAction} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected LoopActionItemProvider loopActionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.LoopAction}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createLoopActionAdapter() {
+        if (loopActionItemProvider == null) {
+            loopActionItemProvider = new LoopActionItemProvider(this);
+        }
+
+        return loopActionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.BranchAction} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected BranchActionItemProvider branchActionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.BranchAction}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createBranchActionAdapter() {
+        if (branchActionItemProvider == null) {
+            branchActionItemProvider = new BranchActionItemProvider(this);
+        }
+
+        return branchActionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.ActionReference} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ActionReferenceItemProvider actionReferenceItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.ActionReference}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createActionReferenceAdapter() {
+        if (actionReferenceItemProvider == null) {
+            actionReferenceItemProvider = new ActionReferenceItemProvider(this);
+        }
+
+        return actionReferenceItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.AdaptationPlan} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected AdaptationPlanItemProvider adaptationPlanItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.AdaptationPlan}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createAdaptationPlanAdapter() {
+        if (adaptationPlanItemProvider == null) {
+            adaptationPlanItemProvider = new AdaptationPlanItemProvider(this);
+        }
+
+        return adaptationPlanItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.Action} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ActionItemProvider actionItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Action}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createActionAdapter() {
+        if (actionItemProvider == null) {
+            actionItemProvider = new ActionItemProvider(this);
+        }
+
+        return actionItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected AdaptationActionOperationItemProvider adaptationActionOperationItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createAdaptationActionOperationAdapter() {
+        if (adaptationActionOperationItemProvider == null) {
+            adaptationActionOperationItemProvider = new AdaptationActionOperationItemProvider(this);
+        }
+
+        return adaptationActionOperationItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptation.Parameter} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ParameterItemProvider parameterItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Parameter}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createParameterAdapter() {
+        if (parameterItemProvider == null) {
+            parameterItemProvider = new ParameterItemProvider(this);
+        }
+
+        return parameterItemProvider;
+    }
+
+    /**
+     * 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 (adaptationProcessItemProvider != null) adaptationProcessItemProvider.dispose();
+        if (overallGoalItemProvider != null) overallGoalItemProvider.dispose();
+        if (strategyItemProvider != null) strategyItemProvider.dispose();
+        if (eventItemProvider != null) eventItemProvider.dispose();
+        if (objectiveItemProvider != null) objectiveItemProvider.dispose();
+        if (weightingFunctionItemProvider != null) weightingFunctionItemProvider.dispose();
+        if (weightedMetricItemProvider != null) weightedMetricItemProvider.dispose();
+        if (weightedTacticItemProvider != null) weightedTacticItemProvider.dispose();
+        if (tacticItemProvider != null) tacticItemProvider.dispose();
+        if (startActionItemProvider != null) startActionItemProvider.dispose();
+        if (stopActionItemProvider != null) stopActionItemProvider.dispose();
+        if (loopActionItemProvider != null) loopActionItemProvider.dispose();
+        if (branchActionItemProvider != null) branchActionItemProvider.dispose();
+        if (actionReferenceItemProvider != null) actionReferenceItemProvider.dispose();
+        if (adaptationPlanItemProvider != null) adaptationPlanItemProvider.dispose();
+        if (actionItemProvider != null) actionItemProvider.dispose();
+        if (adaptationActionOperationItemProvider != null) adaptationActionOperationItemProvider.dispose();
+        if (parameterItemProvider != null) parameterItemProvider.dispose();
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationPlanItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationPlanItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2c15196830185d889d2a9a938d2dc7f6f311ba86
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationPlanItemProvider.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPlan;
+
+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.adaptation.AdaptationPlan} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdaptationPlanItemProvider
+    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 AdaptationPlanItemProvider(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(AdaptationPackage.Literals.ADAPTATION_PLAN__STEPS);
+        }
+        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 AdaptationPlan.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/AdaptationPlan"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((AdaptationPlan)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AdaptationPlan_type") :
+            getString("_UI_AdaptationPlan_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(AdaptationPlan.class)) {
+            case AdaptationPackage.ADAPTATION_PLAN__STEPS:
+                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
+                (AdaptationPackage.Literals.ADAPTATION_PLAN__STEPS,
+                 AdaptationFactory.eINSTANCE.createStartAction()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PLAN__STEPS,
+                 AdaptationFactory.eINSTANCE.createStopAction()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PLAN__STEPS,
+                 AdaptationFactory.eINSTANCE.createLoopAction()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PLAN__STEPS,
+                 AdaptationFactory.eINSTANCE.createBranchAction()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PLAN__STEPS,
+                 AdaptationFactory.eINSTANCE.createActionReference()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c1a0597ee1c7d575fd6e62c1c63a976954cc0b8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/AdaptationProcessItemProvider.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationProcess;
+
+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.adaptation.AdaptationProcess} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdaptationProcessItemProvider
+    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 AdaptationProcessItemProvider(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(AdaptationPackage.Literals.ADAPTATION_PROCESS__TACTICS);
+            childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__ACTIONS);
+            childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__STRATEGIES);
+            childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__PARAMETERS);
+            childrenFeatures.add(AdaptationPackage.Literals.ADAPTATION_PROCESS__GOAL);
+        }
+        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 AdaptationProcess.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/AdaptationProcess"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((AdaptationProcess)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AdaptationProcess_type") :
+            getString("_UI_AdaptationProcess_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(AdaptationProcess.class)) {
+            case AdaptationPackage.ADAPTATION_PROCESS__TACTICS:
+            case AdaptationPackage.ADAPTATION_PROCESS__ACTIONS:
+            case AdaptationPackage.ADAPTATION_PROCESS__STRATEGIES:
+            case AdaptationPackage.ADAPTATION_PROCESS__PARAMETERS:
+            case AdaptationPackage.ADAPTATION_PROCESS__GOAL:
+                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
+                (AdaptationPackage.Literals.ADAPTATION_PROCESS__TACTICS,
+                 AdaptationFactory.eINSTANCE.createTactic()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PROCESS__ACTIONS,
+                 AdaptationFactory.eINSTANCE.createAction()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PROCESS__STRATEGIES,
+                 AdaptationFactory.eINSTANCE.createStrategy()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PROCESS__PARAMETERS,
+                 AdaptationFactory.eINSTANCE.createParameter()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.ADAPTATION_PROCESS__GOAL,
+                 AdaptationFactory.eINSTANCE.createOverallGoal()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/BranchActionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/BranchActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb71c4fec87b6b574f643165496125623b2c24e9
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/BranchActionItemProvider.java
@@ -0,0 +1,238 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.BranchAction;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.BranchAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchActionItemProvider
+    extends AbstractControlFlowElementItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public BranchActionItemProvider(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);
+
+            addContextPropertyDescriptor(object);
+            addConditionPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Context feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addContextPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_BranchAction_context_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_BranchAction_context_feature", "_UI_BranchAction_type"),
+                 AdaptationPackage.Literals.BRANCH_ACTION__CONTEXT,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Condition feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addConditionPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_BranchAction_condition_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_BranchAction_condition_feature", "_UI_BranchAction_type"),
+                 AdaptationPackage.Literals.BRANCH_ACTION__CONDITION,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 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(AdaptationPackage.Literals.BRANCH_ACTION__CONDITION_TRUE_BRANCH);
+            childrenFeatures.add(AdaptationPackage.Literals.BRANCH_ACTION__CONDITION_FALSE_BRANCH);
+        }
+        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 BranchAction.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchAction"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((BranchAction)object).getId();
+        return label == null || label.length() == 0 ?
+            getString("_UI_BranchAction_type") :
+            getString("_UI_BranchAction_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(BranchAction.class)) {
+            case AdaptationPackage.BRANCH_ACTION__CONDITION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case AdaptationPackage.BRANCH_ACTION__CONDITION_TRUE_BRANCH:
+            case AdaptationPackage.BRANCH_ACTION__CONDITION_FALSE_BRANCH:
+                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
+                (AdaptationPackage.Literals.BRANCH_ACTION__CONDITION_TRUE_BRANCH,
+                 AdaptationFactory.eINSTANCE.createAdaptationPlan()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.BRANCH_ACTION__CONDITION_FALSE_BRANCH,
+                 AdaptationFactory.eINSTANCE.createAdaptationPlan()));
+    }
+
+    /**
+     * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+        Object childFeature = feature;
+        Object childObject = child;
+
+        boolean qualify =
+            childFeature == AdaptationPackage.Literals.BRANCH_ACTION__CONDITION_TRUE_BRANCH ||
+            childFeature == AdaptationPackage.Literals.BRANCH_ACTION__CONDITION_FALSE_BRANCH;
+
+        if (qualify) {
+            return getString
+                ("_UI_CreateChild_text2",
+                 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+        }
+        return super.getCreateChildText(owner, feature, child, selection);
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/EventItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/EventItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ed5c9234859578f51468ee00278e5e204807c407
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/EventItemProvider.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.Event;
+
+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.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.adaptation.Event} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EventItemProvider
+    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 EventItemProvider(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 returns Event.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Event"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Event)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Event_type") :
+            getString("_UI_Event_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);
+        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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..41113641fc72d57c29fb4b62dfc7887c6e4fd345
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/LoopActionItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.LoopAction;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.LoopAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopActionItemProvider
+    extends AbstractControlFlowElementItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public LoopActionItemProvider(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);
+
+            addCounterPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Counter feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addCounterPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_LoopAction_counter_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_LoopAction_counter_feature", "_UI_LoopAction_type"),
+                 AdaptationPackage.Literals.LOOP_ACTION__COUNTER,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+                 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(AdaptationPackage.Literals.LOOP_ACTION__BODY);
+        }
+        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 LoopAction.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopAction"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((LoopAction)object).getId();
+        return label == null || label.length() == 0 ?
+            getString("_UI_LoopAction_type") :
+            getString("_UI_LoopAction_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(LoopAction.class)) {
+            case AdaptationPackage.LOOP_ACTION__COUNTER:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case AdaptationPackage.LOOP_ACTION__BODY:
+                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
+                (AdaptationPackage.Literals.LOOP_ACTION__BODY,
+                 AdaptationFactory.eINSTANCE.createAdaptationPlan()));
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c93de82c3575afb8c93c72cfaf5180a9c38b033
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ObjectiveItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.Objective;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.Objective} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ObjectiveItemProvider
+    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 ObjectiveItemProvider(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);
+
+            addSpecificationPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Specification feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addSpecificationPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Objective_specification_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Objective_specification_feature", "_UI_Objective_type"),
+                 AdaptationPackage.Literals.OBJECTIVE__SPECIFICATION,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns Objective.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Objective"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Objective)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Objective_type") :
+            getString("_UI_Objective_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(Objective.class)) {
+            case AdaptationPackage.OBJECTIVE__SPECIFICATION:
+                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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/OverallGoalItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/OverallGoalItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8e435292640fb6a1174e2756e59a5c393bc5e745
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/OverallGoalItemProvider.java
@@ -0,0 +1,199 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.OverallGoal;
+
+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.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.adaptation.OverallGoal} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OverallGoalItemProvider
+    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 OverallGoalItemProvider(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);
+
+            addDescriptionPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Description feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addDescriptionPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_OverallGoal_description_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_OverallGoal_description_feature", "_UI_OverallGoal_type"),
+                 AdaptationPackage.Literals.OVERALL_GOAL__DESCRIPTION,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 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(AdaptationPackage.Literals.OVERALL_GOAL__OBJECTIVES);
+        }
+        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 OverallGoal.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/OverallGoal"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((OverallGoal)object).getDescription();
+        return label == null || label.length() == 0 ?
+            getString("_UI_OverallGoal_type") :
+            getString("_UI_OverallGoal_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(OverallGoal.class)) {
+            case AdaptationPackage.OVERALL_GOAL__DESCRIPTION:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case AdaptationPackage.OVERALL_GOAL__OBJECTIVES:
+                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
+                (AdaptationPackage.Literals.OVERALL_GOAL__OBJECTIVES,
+                 AdaptationFactory.eINSTANCE.createObjective()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ParameterItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..90ea782dcb9d05176eb18c082d2efd5dcd17bc0d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/ParameterItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.Parameter;
+
+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.adaptation.Parameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterItemProvider
+    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 ParameterItemProvider(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);
+            addTypePropertyDescriptor(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_Parameter_name_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Parameter_name_feature", "_UI_Parameter_type"),
+                 AdaptationPackage.Literals.PARAMETER__NAME,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Type feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Parameter_type_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Parameter_type_feature", "_UI_Parameter_type"),
+                 AdaptationPackage.Literals.PARAMETER__TYPE,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns Parameter.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Parameter"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Parameter)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Parameter_type") :
+            getString("_UI_Parameter_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(Parameter.class)) {
+            case AdaptationPackage.PARAMETER__NAME:
+            case AdaptationPackage.PARAMETER__TYPE:
+                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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StartActionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StartActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f64afecc975bb1eab2a5be2399ce7c90478b46a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StartActionItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.StartAction;
+
+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.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.adaptation.StartAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StartActionItemProvider
+    extends AbstractControlFlowElementItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public StartActionItemProvider(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 returns StartAction.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/StartAction"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((StartAction)object).getId();
+        return label == null || label.length() == 0 ?
+            getString("_UI_StartAction_type") :
+            getString("_UI_StartAction_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);
+        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.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StopActionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StopActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f0da9536efb720a1e136a1f8cce5092025e29740
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StopActionItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptation.StopAction;
+
+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.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.adaptation.StopAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StopActionItemProvider
+    extends AbstractControlFlowElementItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public StopActionItemProvider(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 returns StopAction.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/StopAction"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((StopAction)object).getId();
+        return label == null || label.length() == 0 ?
+            getString("_UI_StopAction_type") :
+            getString("_UI_StopAction_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);
+        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.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StrategyItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StrategyItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..513c733414016772f386c6cbc919a96d850561bf
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/StrategyItemProvider.java
@@ -0,0 +1,210 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.Strategy;
+
+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.adaptation.Strategy} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StrategyItemProvider
+    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 StrategyItemProvider(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);
+
+            addObjectivePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Objective feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addObjectivePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Strategy_objective_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Strategy_objective_feature", "_UI_Strategy_type"),
+                 AdaptationPackage.Literals.STRATEGY__OBJECTIVE,
+                 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(AdaptationPackage.Literals.STRATEGY__TRIGGERING_EVENTS);
+            childrenFeatures.add(AdaptationPackage.Literals.STRATEGY__TACTICS);
+            childrenFeatures.add(AdaptationPackage.Literals.STRATEGY__WEIGHTING_FUNCTION);
+        }
+        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 Strategy.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Strategy"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Strategy)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Strategy_type") :
+            getString("_UI_Strategy_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(Strategy.class)) {
+            case AdaptationPackage.STRATEGY__TRIGGERING_EVENTS:
+            case AdaptationPackage.STRATEGY__TACTICS:
+            case AdaptationPackage.STRATEGY__WEIGHTING_FUNCTION:
+                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
+                (AdaptationPackage.Literals.STRATEGY__TRIGGERING_EVENTS,
+                 AdaptationFactory.eINSTANCE.createEvent()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.STRATEGY__TACTICS,
+                 AdaptationFactory.eINSTANCE.createWeightedTactic()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationPackage.Literals.STRATEGY__WEIGHTING_FUNCTION,
+                 AdaptationFactory.eINSTANCE.createWeightingFunction()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/TacticItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/TacticItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b192348573459b197bf3563aaaf60bbb29caede5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/TacticItemProvider.java
@@ -0,0 +1,219 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.Tactic;
+
+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.adaptation.Tactic} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TacticItemProvider
+    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 TacticItemProvider(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);
+
+            addInputParamsPropertyDescriptor(object);
+            addOutputParamPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Input Params feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addInputParamsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Tactic_inputParams_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Tactic_inputParams_feature", "_UI_Tactic_type"),
+                 AdaptationPackage.Literals.TACTIC__INPUT_PARAMS,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Output Param feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addOutputParamPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Tactic_outputParam_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Tactic_outputParam_feature", "_UI_Tactic_type"),
+                 AdaptationPackage.Literals.TACTIC__OUTPUT_PARAM,
+                 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(AdaptationPackage.Literals.TACTIC__IMPLEMENTED_PLAN);
+        }
+        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 Tactic.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Tactic"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Tactic)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Tactic_type") :
+            getString("_UI_Tactic_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(Tactic.class)) {
+            case AdaptationPackage.TACTIC__IMPLEMENTED_PLAN:
+                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
+                (AdaptationPackage.Literals.TACTIC__IMPLEMENTED_PLAN,
+                 AdaptationFactory.eINSTANCE.createAdaptationPlan()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightedMetricItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightedMetricItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..133fa9ab8dc16eddf8a794dbb80a0e9b51145db7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightedMetricItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.WeightedMetric;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.WeightedMetric} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WeightedMetricItemProvider
+    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 WeightedMetricItemProvider(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);
+
+            addWeightPropertyDescriptor(object);
+            addMetricTypePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Weight feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addWeightPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WeightedMetric_weight_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WeightedMetric_weight_feature", "_UI_WeightedMetric_type"),
+                 AdaptationPackage.Literals.WEIGHTED_METRIC__WEIGHT,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Metric Type feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addMetricTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WeightedMetric_metricType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WeightedMetric_metricType_feature", "_UI_WeightedMetric_type"),
+                 AdaptationPackage.Literals.WEIGHTED_METRIC__METRIC_TYPE,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns WeightedMetric.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/WeightedMetric"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((WeightedMetric)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_WeightedMetric_type") :
+            getString("_UI_WeightedMetric_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(WeightedMetric.class)) {
+            case AdaptationPackage.WEIGHTED_METRIC__WEIGHT:
+                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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightedTacticItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightedTacticItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..06c7e72f44d2ae15ec2e04378dc4127a866da99c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightedTacticItemProvider.java
@@ -0,0 +1,230 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptation.WeightedTactic} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WeightedTacticItemProvider
+    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 WeightedTacticItemProvider(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);
+
+            addUsedTacticPropertyDescriptor(object);
+            addCurrentWeightPropertyDescriptor(object);
+            addDefaultWeightPropertyDescriptor(object);
+            addLastImpactPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Used Tactic feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addUsedTacticPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WeightedTactic_usedTactic_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WeightedTactic_usedTactic_feature", "_UI_WeightedTactic_type"),
+                 AdaptationPackage.Literals.WEIGHTED_TACTIC__USED_TACTIC,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Current Weight feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addCurrentWeightPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WeightedTactic_currentWeight_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WeightedTactic_currentWeight_feature", "_UI_WeightedTactic_type"),
+                 AdaptationPackage.Literals.WEIGHTED_TACTIC__CURRENT_WEIGHT,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Default Weight feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addDefaultWeightPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WeightedTactic_defaultWeight_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WeightedTactic_defaultWeight_feature", "_UI_WeightedTactic_type"),
+                 AdaptationPackage.Literals.WEIGHTED_TACTIC__DEFAULT_WEIGHT,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Last Impact feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addLastImpactPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_WeightedTactic_lastImpact_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_WeightedTactic_lastImpact_feature", "_UI_WeightedTactic_type"),
+                 AdaptationPackage.Literals.WEIGHTED_TACTIC__LAST_IMPACT,
+                 true,
+                 false,
+                 false,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns WeightedTactic.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/WeightedTactic"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((WeightedTactic)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_WeightedTactic_type") :
+            getString("_UI_WeightedTactic_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(WeightedTactic.class)) {
+            case AdaptationPackage.WEIGHTED_TACTIC__CURRENT_WEIGHT:
+            case AdaptationPackage.WEIGHTED_TACTIC__DEFAULT_WEIGHT:
+            case AdaptationPackage.WEIGHTED_TACTIC__LAST_IMPACT:
+                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 AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightingFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightingFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..078e7f12ff8cdff0afebda08f773675597c10760
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptation.edit/src/edu/kit/ipd/descartes/mm/adaptation/provider/WeightingFunctionItemProvider.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptation.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationFactory;
+import edu.kit.ipd.descartes.mm.adaptation.AdaptationPackage;
+import edu.kit.ipd.descartes.mm.adaptation.WeightingFunction;
+
+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.adaptation.WeightingFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WeightingFunctionItemProvider
+    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 WeightingFunctionItemProvider(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(AdaptationPackage.Literals.WEIGHTING_FUNCTION__WEIGHTED_METRICS);
+        }
+        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 WeightingFunction.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/WeightingFunction"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((WeightingFunction)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_WeightingFunction_type") :
+            getString("_UI_WeightingFunction_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(WeightingFunction.class)) {
+            case AdaptationPackage.WEIGHTING_FUNCTION__WEIGHTED_METRICS:
+                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
+                (AdaptationPackage.Literals.WEIGHTING_FUNCTION__WEIGHTED_METRICS,
+                 AdaptationFactory.eINSTANCE.createWeightedMetric()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/.classpath b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/.project b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..0e7522c470fe0fcf44ed42ee025fe17aa64980b1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.adaptationpoints.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..c94eef8fde74fa3411a3e875ea3c5243bf636090
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.adaptationpoints.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.mm.adaptationpoints.provider.AdaptationpointsEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.mm.adaptationpoints.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.mm.adaptationpoints;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/build.properties b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateAdaptationPointDescriptions_adaptationPoints_ModelEntityConfigurationRange.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateAdaptationPointDescriptions_adaptationPoints_ModelEntityConfigurationRange.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a7d0fbc9612ac99568fa3b3c23f6fd2eafb7a160
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateAdaptationPointDescriptions_adaptationPoints_ModelEntityConfigurationRange.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateAdaptationPointDescriptions_adaptationPoints_ModelVariableConfigurationRange.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateAdaptationPointDescriptions_adaptationPoints_ModelVariableConfigurationRange.gif
new file mode 100644
index 0000000000000000000000000000000000000000..939ba2e496a51f281d6a365e73c493f4b2aa4c2c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateAdaptationPointDescriptions_adaptationPoints_ModelVariableConfigurationRange.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateModelEntityConfigurationRange_variationPossibility_PropertyRange.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateModelEntityConfigurationRange_variationPossibility_PropertyRange.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2f04e778db096fbf0a83f92071450b0a085872cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateModelEntityConfigurationRange_variationPossibility_PropertyRange.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateModelEntityConfigurationRange_variationPossibility_SetOfConfigurations.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateModelEntityConfigurationRange_variationPossibility_SetOfConfigurations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fc3cd12da11ce5341142dbedd68768b5cee321b8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateModelEntityConfigurationRange_variationPossibility_SetOfConfigurations.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreatePropertyRange_maxValueConstraint_OclConstraint.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreatePropertyRange_maxValueConstraint_OclConstraint.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cfd10c2742c0926ee74de04f02e3e5964cc2bfb9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreatePropertyRange_maxValueConstraint_OclConstraint.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreatePropertyRange_minValueConstraint_OclConstraint.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreatePropertyRange_minValueConstraint_OclConstraint.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cfd10c2742c0926ee74de04f02e3e5964cc2bfb9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreatePropertyRange_minValueConstraint_OclConstraint.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateSetOfConfigurations_valueConstraint_OclConstraint.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateSetOfConfigurations_valueConstraint_OclConstraint.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8f2603b5337405879d0e669dbf20e582c22c9118
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/ctool16/CreateSetOfConfigurations_valueConstraint_OclConstraint.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/AdaptationPointDescriptions.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/AdaptationPointDescriptions.gif
new file mode 100644
index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/AdaptationPointDescriptions.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/ModelEntityConfigurationRange.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/ModelEntityConfigurationRange.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4365960a04b1589a21b7607f45f9b5907e2f01a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/ModelEntityConfigurationRange.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/ModelVariableConfigurationRange.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/ModelVariableConfigurationRange.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/ModelVariableConfigurationRange.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/OclConstraint.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/OclConstraint.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98b351f1c441775dfbe390577f2e534a4dcf07f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/OclConstraint.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/PropertyRange.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/PropertyRange.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a3908bcf7b4ec0b29040bb1ef944c4d5a93fbb32
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/PropertyRange.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/SetOfConfigurations.gif b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/SetOfConfigurations.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b6925602975de13459862ee32e1b0d97549bf67
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/icons/full/obj16/SetOfConfigurations.gif differ
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/plugin.properties b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..79d22bddb23f6388fd225e9b6955c67c8d613d08
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/plugin.properties
@@ -0,0 +1,48 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Adaptationpoints Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_AdaptationPointDescriptions_type = Adaptation Point Descriptions
+_UI_AdaptationPoint_type = Adaptation Point
+_UI_ModelVariableConfigurationRange_type = Model Variable Configuration Range
+_UI_ModelEntityConfigurationRange_type = Model Entity Configuration Range
+_UI_VariationType_type = Variation Type
+_UI_PropertyRange_type = Property Range
+_UI_SetOfConfigurations_type = Set Of Configurations
+_UI_OclConstraint_type = Ocl Constraint
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_AdaptationPointDescriptions_adaptationPoints_feature = Adaptation Points
+_UI_ModelVariableConfigurationRange_adaptableEntity_feature = Adaptable Entity
+_UI_ModelVariableConfigurationRange_minValue_feature = Min Value
+_UI_ModelVariableConfigurationRange_maxValue_feature = Max Value
+_UI_ModelEntityConfigurationRange_variationPossibility_feature = Variation Possibility
+_UI_ModelEntityConfigurationRange_entity_feature = Entity
+_UI_PropertyRange_minValueConstraint_feature = Min Value Constraint
+_UI_PropertyRange_maxValueConstraint_feature = Max Value Constraint
+_UI_SetOfConfigurations_valueConstraint_feature = Value Constraint
+_UI_SetOfConfigurations_variants_feature = Variants
+_UI_OclConstraint_oclString_feature = Ocl String
+_UI_Unknown_feature = Unspecified
+
+_UI_OperationType_SCALE_UP_literal = SCALE_UP
+_UI_OperationType_SCALE_OUT_literal = SCALE_OUT
+_UI_OperationType_SCALE_DOWN_literal = SCALE_DOWN
+_UI_OperationType_SCALE_IN_literal = SCALE_IN
+_UI_OperationType_NOT_SET_literal = NOT_SET
+_UI_OperationType_ANY_literal = ANY
+_UI_ModelEntityConfigurationRange_adaptableEntity_feature = Adaptable Entity
+_UI_OperationType_MIGRATE_literal = MIGRATE
+_UI_OclConstraint_name_feature = Name
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/plugin.xml b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6bd0dd684086b26f31077d3e6afa9a097f3938a2
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/adaptationpoints/0.1"
+            class="edu.kit.ipd.descartes.mm.adaptationpoints.provider.AdaptationpointsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationPointDescriptionsItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationPointDescriptionsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a81552146afd0b2ebfe745ee6a4c49dd92e6be9c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationPointDescriptionsItemProvider.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+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;
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationPointDescriptions;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsFactory;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationPointDescriptions} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdaptationPointDescriptionsItemProvider
+    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 AdaptationPointDescriptionsItemProvider(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(AdaptationpointsPackage.Literals.ADAPTATION_POINT_DESCRIPTIONS__ADAPTATION_POINTS);
+        }
+        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 AdaptationPointDescriptions.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/AdaptationPointDescriptions"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((AdaptationPointDescriptions)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AdaptationPointDescriptions_type") :
+            getString("_UI_AdaptationPointDescriptions_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(AdaptationPointDescriptions.class)) {
+            case AdaptationpointsPackage.ADAPTATION_POINT_DESCRIPTIONS__ADAPTATION_POINTS:
+                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
+                (AdaptationpointsPackage.Literals.ADAPTATION_POINT_DESCRIPTIONS__ADAPTATION_POINTS,
+                 AdaptationpointsFactory.eINSTANCE.createModelVariableConfigurationRange()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationpointsPackage.Literals.ADAPTATION_POINT_DESCRIPTIONS__ADAPTATION_POINTS,
+                 AdaptationpointsFactory.eINSTANCE.createModelEntityConfigurationRange()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationpointsEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationPointItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationPointItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c31ed3281b8c1616ef505b1c2843d1b964081662
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationPointItemProvider.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationPoint;
+
+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.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.adaptationpoints.AdaptationPoint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdaptationPointItemProvider
+    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 AdaptationPointItemProvider(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 returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((AdaptationPoint)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AdaptationPoint_type") :
+            getString("_UI_AdaptationPoint_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);
+        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 AdaptationpointsEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationpointsEditPlugin.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationpointsEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..a889ef41e1109226793d07309b2f936dcb5c30ea
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationpointsEditPlugin.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Adaptationpoints edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class AdaptationpointsEditPlugin extends EMFPlugin {
+    /**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public static final AdaptationpointsEditPlugin INSTANCE = new AdaptationpointsEditPlugin();
+
+    /**
+     * 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 AdaptationpointsEditPlugin() {
+        super
+          (new ResourceLocator [] {
+             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.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationpointsItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationpointsItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..c3473686960bf0fb2d55590a5f14d5e7f28e0496
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/AdaptationpointsItemProviderAdapterFactory.java
@@ -0,0 +1,320 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.util.AdaptationpointsAdapterFactory;
+
+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 AdaptationpointsItemProviderAdapterFactory extends AdaptationpointsAdapterFactory 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 AdaptationpointsItemProviderAdapterFactory() {
+        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.adaptationpoints.AdaptationPointDescriptions} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected AdaptationPointDescriptionsItemProvider adaptationPointDescriptionsItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationPointDescriptions}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createAdaptationPointDescriptionsAdapter() {
+        if (adaptationPointDescriptionsItemProvider == null) {
+            adaptationPointDescriptionsItemProvider = new AdaptationPointDescriptionsItemProvider(this);
+        }
+
+        return adaptationPointDescriptionsItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ModelVariableConfigurationRangeItemProvider modelVariableConfigurationRangeItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createModelVariableConfigurationRangeAdapter() {
+        if (modelVariableConfigurationRangeItemProvider == null) {
+            modelVariableConfigurationRangeItemProvider = new ModelVariableConfigurationRangeItemProvider(this);
+        }
+
+        return modelVariableConfigurationRangeItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected ModelEntityConfigurationRangeItemProvider modelEntityConfigurationRangeItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createModelEntityConfigurationRangeAdapter() {
+        if (modelEntityConfigurationRangeItemProvider == null) {
+            modelEntityConfigurationRangeItemProvider = new ModelEntityConfigurationRangeItemProvider(this);
+        }
+
+        return modelEntityConfigurationRangeItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptationpoints.PropertyRange} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected PropertyRangeItemProvider propertyRangeItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.PropertyRange}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createPropertyRangeAdapter() {
+        if (propertyRangeItemProvider == null) {
+            propertyRangeItemProvider = new PropertyRangeItemProvider(this);
+        }
+
+        return propertyRangeItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptationpoints.SetOfConfigurations} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected SetOfConfigurationsItemProvider setOfConfigurationsItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.SetOfConfigurations}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createSetOfConfigurationsAdapter() {
+        if (setOfConfigurationsItemProvider == null) {
+            setOfConfigurationsItemProvider = new SetOfConfigurationsItemProvider(this);
+        }
+
+        return setOfConfigurationsItemProvider;
+    }
+
+    /**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.adaptationpoints.OclConstraint} instances.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected OclConstraintItemProvider oclConstraintItemProvider;
+
+    /**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.adaptationpoints.OclConstraint}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Adapter createOclConstraintAdapter() {
+        if (oclConstraintItemProvider == null) {
+            oclConstraintItemProvider = new OclConstraintItemProvider(this);
+        }
+
+        return oclConstraintItemProvider;
+    }
+
+    /**
+     * 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 (adaptationPointDescriptionsItemProvider != null) adaptationPointDescriptionsItemProvider.dispose();
+        if (modelVariableConfigurationRangeItemProvider != null) modelVariableConfigurationRangeItemProvider.dispose();
+        if (modelEntityConfigurationRangeItemProvider != null) modelEntityConfigurationRangeItemProvider.dispose();
+        if (propertyRangeItemProvider != null) propertyRangeItemProvider.dispose();
+        if (setOfConfigurationsItemProvider != null) setOfConfigurationsItemProvider.dispose();
+        if (oclConstraintItemProvider != null) oclConstraintItemProvider.dispose();
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/ModelEntityConfigurationRangeItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/ModelEntityConfigurationRangeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..78347b11b4c506511e86e0fb27c26e9b7348f0f5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/ModelEntityConfigurationRangeItemProvider.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsFactory;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+import edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange;
+
+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.adaptationpoints.ModelEntityConfigurationRange} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelEntityConfigurationRangeItemProvider
+    extends AdaptationPointItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public ModelEntityConfigurationRangeItemProvider(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);
+
+            addAdaptableEntityPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Adaptable Entity feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addAdaptableEntityPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ModelEntityConfigurationRange_adaptableEntity_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ModelEntityConfigurationRange_adaptableEntity_feature", "_UI_ModelEntityConfigurationRange_type"),
+                 AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__ADAPTABLE_ENTITY,
+                 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(AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__VARIATION_POSSIBILITY);
+        }
+        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 ModelEntityConfigurationRange.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ModelEntityConfigurationRange"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((ModelEntityConfigurationRange)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ModelEntityConfigurationRange_type") :
+            getString("_UI_ModelEntityConfigurationRange_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(ModelEntityConfigurationRange.class)) {
+            case AdaptationpointsPackage.MODEL_ENTITY_CONFIGURATION_RANGE__VARIATION_POSSIBILITY:
+                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
+                (AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__VARIATION_POSSIBILITY,
+                 AdaptationpointsFactory.eINSTANCE.createPropertyRange()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationpointsPackage.Literals.MODEL_ENTITY_CONFIGURATION_RANGE__VARIATION_POSSIBILITY,
+                 AdaptationpointsFactory.eINSTANCE.createSetOfConfigurations()));
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/ModelVariableConfigurationRangeItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/ModelVariableConfigurationRangeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..de845e7148c9ce1be2d4e412bff32c28ed89f8bc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/ModelVariableConfigurationRangeItemProvider.java
@@ -0,0 +1,191 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+import edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange;
+
+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.adaptationpoints.ModelVariableConfigurationRange} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelVariableConfigurationRangeItemProvider
+    extends AdaptationPointItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public ModelVariableConfigurationRangeItemProvider(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);
+
+            addAdaptableEntityPropertyDescriptor(object);
+            addMinValuePropertyDescriptor(object);
+            addMaxValuePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Adaptable Entity feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addAdaptableEntityPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ModelVariableConfigurationRange_adaptableEntity_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ModelVariableConfigurationRange_adaptableEntity_feature", "_UI_ModelVariableConfigurationRange_type"),
+                 AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__ADAPTABLE_ENTITY,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Min Value feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addMinValuePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ModelVariableConfigurationRange_minValue_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ModelVariableConfigurationRange_minValue_feature", "_UI_ModelVariableConfigurationRange_type"),
+                 AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__MIN_VALUE,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This adds a property descriptor for the Max Value feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addMaxValuePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ModelVariableConfigurationRange_maxValue_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ModelVariableConfigurationRange_maxValue_feature", "_UI_ModelVariableConfigurationRange_type"),
+                 AdaptationpointsPackage.Literals.MODEL_VARIABLE_CONFIGURATION_RANGE__MAX_VALUE,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns ModelVariableConfigurationRange.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ModelVariableConfigurationRange"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((ModelVariableConfigurationRange)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ModelVariableConfigurationRange_type") :
+            getString("_UI_ModelVariableConfigurationRange_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(ModelVariableConfigurationRange.class)) {
+            case AdaptationpointsPackage.MODEL_VARIABLE_CONFIGURATION_RANGE__MIN_VALUE:
+            case AdaptationpointsPackage.MODEL_VARIABLE_CONFIGURATION_RANGE__MAX_VALUE:
+                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.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/OclConstraintItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/OclConstraintItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..92740a6fa949dcf907c1c90cf5afbc466946e8a5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/OclConstraintItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+import edu.kit.ipd.descartes.mm.adaptationpoints.OclConstraint;
+
+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.adaptationpoints.OclConstraint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OclConstraintItemProvider
+    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 OclConstraintItemProvider(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);
+
+            addOclStringPropertyDescriptor(object);
+            addNamePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Ocl String feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addOclStringPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_OclConstraint_oclString_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_OclConstraint_oclString_feature", "_UI_OclConstraint_type"),
+                 AdaptationpointsPackage.Literals.OCL_CONSTRAINT__OCL_STRING,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * 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_OclConstraint_name_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_OclConstraint_name_feature", "_UI_OclConstraint_type"),
+                 AdaptationpointsPackage.Literals.OCL_CONSTRAINT__NAME,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+    /**
+     * This returns OclConstraint.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/OclConstraint"));
+    }
+
+    /**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((OclConstraint)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_OclConstraint_type") :
+            getString("_UI_OclConstraint_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(OclConstraint.class)) {
+            case AdaptationpointsPackage.OCL_CONSTRAINT__OCL_STRING:
+            case AdaptationpointsPackage.OCL_CONSTRAINT__NAME:
+                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 AdaptationpointsEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/PropertyRangeItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/PropertyRangeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..92e02d436474be071357c1baab7f40207f872a16
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/PropertyRangeItemProvider.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsFactory;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+import edu.kit.ipd.descartes.mm.adaptationpoints.PropertyRange;
+
+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.adaptationpoints.PropertyRange} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PropertyRangeItemProvider
+    extends VariationTypeItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public PropertyRangeItemProvider(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(AdaptationpointsPackage.Literals.PROPERTY_RANGE__MIN_VALUE_CONSTRAINT);
+            childrenFeatures.add(AdaptationpointsPackage.Literals.PROPERTY_RANGE__MAX_VALUE_CONSTRAINT);
+        }
+        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 PropertyRange.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyRange"));
+    }
+
+    /**
+     * 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_PropertyRange_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(PropertyRange.class)) {
+            case AdaptationpointsPackage.PROPERTY_RANGE__MIN_VALUE_CONSTRAINT:
+            case AdaptationpointsPackage.PROPERTY_RANGE__MAX_VALUE_CONSTRAINT:
+                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
+                (AdaptationpointsPackage.Literals.PROPERTY_RANGE__MIN_VALUE_CONSTRAINT,
+                 AdaptationpointsFactory.eINSTANCE.createOclConstraint()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (AdaptationpointsPackage.Literals.PROPERTY_RANGE__MAX_VALUE_CONSTRAINT,
+                 AdaptationpointsFactory.eINSTANCE.createOclConstraint()));
+    }
+
+    /**
+     * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+        Object childFeature = feature;
+        Object childObject = child;
+
+        boolean qualify =
+            childFeature == AdaptationpointsPackage.Literals.PROPERTY_RANGE__MIN_VALUE_CONSTRAINT ||
+            childFeature == AdaptationpointsPackage.Literals.PROPERTY_RANGE__MAX_VALUE_CONSTRAINT;
+
+        if (qualify) {
+            return getString
+                ("_UI_CreateChild_text2",
+                 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+        }
+        return super.getCreateChildText(owner, feature, child, selection);
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/SetOfConfigurationsItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/SetOfConfigurationsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a3e6e5fd55ba85858fdee3819b8257bcd3c626ef
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/SetOfConfigurationsItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsFactory;
+import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationpointsPackage;
+import edu.kit.ipd.descartes.mm.adaptationpoints.SetOfConfigurations;
+
+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.adaptationpoints.SetOfConfigurations} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SetOfConfigurationsItemProvider
+    extends VariationTypeItemProvider
+    implements
+        IEditingDomainItemProvider,
+        IStructuredItemContentProvider,
+        ITreeItemContentProvider,
+        IItemLabelProvider,
+        IItemPropertySource {
+    /**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    public SetOfConfigurationsItemProvider(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);
+
+            addVariantsPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+    /**
+     * This adds a property descriptor for the Variants feature.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    protected void addVariantsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_SetOfConfigurations_variants_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_SetOfConfigurations_variants_feature", "_UI_SetOfConfigurations_type"),
+                 AdaptationpointsPackage.Literals.SET_OF_CONFIGURATIONS__VARIANTS,
+                 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(AdaptationpointsPackage.Literals.SET_OF_CONFIGURATIONS__VALUE_CONSTRAINT);
+        }
+        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 SetOfConfigurations.gif.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/SetOfConfigurations"));
+    }
+
+    /**
+     * 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_SetOfConfigurations_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(SetOfConfigurations.class)) {
+            case AdaptationpointsPackage.SET_OF_CONFIGURATIONS__VALUE_CONSTRAINT:
+                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
+                (AdaptationpointsPackage.Literals.SET_OF_CONFIGURATIONS__VALUE_CONSTRAINT,
+                 AdaptationpointsFactory.eINSTANCE.createOclConstraint()));
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/VariationTypeItemProvider.java b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/VariationTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e90956ea3188d2ac9d0b922f2b0c2847f541333
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.adaptationpoints.edit/src/edu/kit/ipd/descartes/mm/adaptationpoints/provider/VariationTypeItemProvider.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.adaptationpoints.provider;
+
+
+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.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.adaptationpoints.VariationType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VariationTypeItemProvider
+    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 VariationTypeItemProvider(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 returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        return getString("_UI_VariationType_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);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return AdaptationpointsEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/.classpath b/edu.kit.ipd.descartes.mm.applicationlevel.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/.project b/edu.kit.ipd.descartes.mm.applicationlevel.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..4a6ebf9e8360e893b780530ab1581ecc08f1e14c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.applicationlevel.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..5c74c37fdfca5e8b6f31bf3889d9d486fc18773a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.applicationlevel.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.mm.applicationlevel.functions.provider,
+ edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider,
+ edu.kit.ipd.descartes.mm.applicationlevel.provider,
+ edu.kit.ipd.descartes.mm.applicationlevel.repository.provider,
+ edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider,
+ edu.kit.ipd.descartes.mm.applicationlevel.system.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.mm.applicationlevel;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/build.properties b/edu.kit.ipd.descartes.mm.applicationlevel.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_fineGrainedBehavior_FineGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_fineGrainedBehavior_FineGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..86fde1e236e11f6c4dc311658422f3043fe630ec
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_fineGrainedBehavior_FineGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_semaphores_Semaphore.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_semaphores_Semaphore.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d6e42e4548dd882b82535ee0b1a8a743697dfca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_semaphores_Semaphore.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6153c8dfcbb5bf74fcfd547e96699c6daf8b6bca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ec7362a76edfdda6fd5c3df0fd86745b5428e12
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e487021af0d3dd87f258c62e08efcfd91ee8858
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c565965f8fcf5d4e3dd4075d22170487bf8a19f4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c0ac967d854aea6a6b29133ad69e8418e1bd5836
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98a66f134f020b6ada9f93b8ac04713fd7b3c813
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1010ed82e50374c77a8a0d88ea93f182fd9dfbb4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..822c544671bf421833386e40d0121d6dbb20b120
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4d10d577799a0407a8112dbd0d90fb6a5b446af6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5217be62850c1c0a3e804b9a394cfbe9da399dcd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6153c8dfcbb5bf74fcfd547e96699c6daf8b6bca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ec7362a76edfdda6fd5c3df0fd86745b5428e12
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e487021af0d3dd87f258c62e08efcfd91ee8858
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c565965f8fcf5d4e3dd4075d22170487bf8a19f4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c0ac967d854aea6a6b29133ad69e8418e1bd5836
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98a66f134f020b6ada9f93b8ac04713fd7b3c813
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1010ed82e50374c77a8a0d88ea93f182fd9dfbb4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..822c544671bf421833386e40d0121d6dbb20b120
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4d10d577799a0407a8112dbd0d90fb6a5b446af6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5217be62850c1c0a3e804b9a394cfbe9da399dcd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTimeSpecification_ResponseTimeSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTimeSpecification_ResponseTimeSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c2235ab275bedac8c4eb6801f5b8a70a63f83b6c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTimeSpecification_ResponseTimeSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoolSampleList_items_BoolSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoolSampleList_items_BoolSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6bdc3869b057fbd574b64c38a85d8b80bc06f68
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoolSampleList_items_BoolSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_sample_ContinuousSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_sample_ContinuousSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..388fb52f1e2049dff174ff2a29e88a1d19c96cae
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_sample_ContinuousSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branchProbabilities_BranchProbabilities.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branchProbabilities_BranchProbabilities.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08b62b9af29ea343d501ce0ba5c87e57af6c8edb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branchProbabilities_BranchProbabilities.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_BranchTransition.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_BranchTransition.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4fcc2d6eaccaa35bb4e1b5d7b7ae9805e2d627a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_BranchTransition.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..561e20c16f11bcad56ed8fc8d1854ce82c8ad336
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchTransition_branchBehavior_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchTransition_branchBehavior_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..14d8d5f68193874f779d1b2ab6d52750e7ccd773
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchTransition_branchBehavior_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_externalCallFrequency_ExternalCallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_externalCallFrequency_ExternalCallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ca92866c7c7c0fb603c4d3e7cd4178d3fd27fa60
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_externalCallFrequency_ExternalCallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemandSpecification_ResourceDemandSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemandSpecification_ResourceDemandSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec4ba79d49c31a237204b323e46380506d52769f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemandSpecification_ResourceDemandSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_AcquireAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_AcquireAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..38e8cc2ed101d225c6b37ca7a9dbcf5e850964d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_AcquireAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_BranchAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_BranchAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..63dbadf56c1af14114366d6697983a0f50002383
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_BranchAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ExternalCallAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ExternalCallAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e81c185d38b35ce49942524d635ef2c98a61fb79
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ExternalCallAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ForkAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ForkAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f7a01deebad20b92a21abcdb077dceb55be93ac9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ForkAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_InternalAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_InternalAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43035507eedd309b9910045b7f9e30f0fc0f3463
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_InternalAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_LoopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_LoopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e81c185d38b35ce49942524d635ef2c98a61fb79
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_LoopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ReleaseAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ReleaseAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dc6202681644db2106daa7cdfb8c35be612215
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ReleaseAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StartAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StartAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..76d2d364527040c7ed6617da962a1d1419b55abe
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StartAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4e5ea6a0d742befe7e1f4288e861f7007780296b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyConnectors_AssemblyConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyConnectors_AssemblyConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1264e5e43bcba74cdc2b994b5378f2243933f837
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyConnectors_AssemblyConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyContexts_AssemblyContext.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyContexts_AssemblyContext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b0b8b572db5e6bef45771670672f3610690329c5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyContexts_AssemblyContext.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providedDelegationConnectors_ProvidedDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providedDelegationConnectors_ProvidedDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b73db01fb3d86bf4cfb638e53059e7c1e9d29bb0
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providedDelegationConnectors_ProvidedDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiredDelegationConnectors_RequiredDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiredDelegationConnectors_RequiredDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d5442892a77c6b18f674c575a94e05304bc4f509
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiredDelegationConnectors_RequiredDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCompositeDataType_innerDeclarations_InnerDeclaration.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCompositeDataType_innerDeclarations_InnerDeclaration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e279dec056fbe4b50037776c91154dd8baa267cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCompositeDataType_innerDeclarations_InnerDeclaration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftComponentInstanceReference_ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftComponentInstanceReference_ComponentInstanceReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90a8446b93e673cf3e21a7b40e86559ba3e35fed
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftComponentInstanceReference_ComponentInstanceReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftToRightExplicitCharacterization_ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftToRightExplicitCharacterization_ExplicitCharacterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..846943b6cb816c3913b41fccfc1c2d84fe7b79c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftToRightExplicitCharacterization_ExplicitCharacterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightComponentInstanceReference_ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightComponentInstanceReference_ComponentInstanceReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90a8446b93e673cf3e21a7b40e86559ba3e35fed
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightComponentInstanceReference_ComponentInstanceReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightToLeftExplicitCharacterization_ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightToLeftExplicitCharacterization_ExplicitCharacterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..846943b6cb816c3913b41fccfc1c2d84fe7b79c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightToLeftExplicitCharacterization_ExplicitCharacterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_explicitCharacterization_ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_explicitCharacterization_ExplicitCharacterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_explicitCharacterization_ExplicitCharacterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDoubleSampleList_items_DoubleSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDoubleSampleList_items_DoubleSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e87a232021b899090f3a47cc3af536add4cf89b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDoubleSampleList_items_DoubleSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEmpiricalCharacterization_empiricalFunction_EmpiricalFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEmpiricalCharacterization_empiricalFunction_EmpiricalFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cae9e95afc8e54e7a6e7d59681664d2a8c4119bc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEmpiricalCharacterization_empiricalFunction_EmpiricalFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEnumSampleList_items_EnumSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEnumSampleList_items_EnumSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f3ec4289f0ec49374f81098c47632ef2e190133
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEnumSampleList_items_EnumSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitCharacterization_explicitFunction_ExplicitFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitCharacterization_explicitFunction_ExplicitFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8fe680b4db8abcd1b1258e91ccf7742c7713c13e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitCharacterization_explicitFunction_ExplicitFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCall.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..027f1b702718a54abdad340f25abd1f6f0f8419f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCall.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCallAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCallAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCallAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_frequency_CallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_frequency_CallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8861542f93fe939b6541db275cf7a9314565442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_frequency_CallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFineGrainedBehavior_behavior_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFineGrainedBehavior_behavior_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..40e5eedcdbe510e8293fc0f4ba1eadebb701805c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFineGrainedBehavior_behavior_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateForkAction_forkedBehaviors_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateForkAction_forkedBehaviors_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e268a9e4429250b626a3bc50a1dc7fb68295c2c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateForkAction_forkedBehaviors_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f61f1983011465fb694356efbdca7452b94f81ce
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a163af34f267844b121ad8f81ed8c357a9792b2e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8966d1170904f3105bdc7267a8b67ad1b7c5b27c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b402369f15786aaffd55f7567877f6922f8e7c6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7936184f76ea9bfbd5bb1ad60b6b19feefe52ec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bd2a29ab6f1c79d7d460bd7181ff2ef6f96feb91
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5d2a1980b82f0d9f03bc8b546babbfbfb34125da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8966d1170904f3105bdc7267a8b67ad1b7c5b27c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d46aad43a1956bd0ad1e024d11c53c591303e55
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b417a5937218fd30d9525e730a1d219cf169629
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..063a8534d3e95cf65b984bb4bbc2714b1433fc7c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b402369f15786aaffd55f7567877f6922f8e7c6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b2c0939bd6bdeca02531aa0e4aaea8e716a74d3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b417a5937218fd30d9525e730a1d219cf169629
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..59763f447c16316d2a761cf78707e3cb70653ef8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d2b476631944606c6e65384e5e1bde5d12181dd5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55d7be5a9128f0d36af3f3cc3b8845552495c686
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66a52f706ce3c45ef529352b1ec3ba414051d035
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ad5bdffffa9420bbdc0df4f6f0f96fdc1c17bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96cdc6db4b6a247f64a9aea357ac56dc6814e2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bc59373400ad70d5d73874659d7a3f11e9ce4db
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f809a28cc7227bf020f4f5d0187bb1ce201458d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8af6a478ccfbaa39620e52662730c0b2187
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b76a8a7e8193b06280007dec31fe041784f4477
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6407cdae5f3df5dff418abff0c5584771712f2d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5206c2e2d481cc58be6d48f50e5a5b70b8c259ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55d7be5a9128f0d36af3f3cc3b8845552495c686
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66a52f706ce3c45ef529352b1ec3ba414051d035
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ad5bdffffa9420bbdc0df4f6f0f96fdc1c17bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96cdc6db4b6a247f64a9aea357ac56dc6814e2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bc59373400ad70d5d73874659d7a3f11e9ce4db
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f809a28cc7227bf020f4f5d0187bb1ce201458d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8af6a478ccfbaa39620e52662730c0b2187
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b76a8a7e8193b06280007dec31fe041784f4477
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6407cdae5f3df5dff418abff0c5584771712f2d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5206c2e2d481cc58be6d48f50e5a5b70b8c259ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55d7be5a9128f0d36af3f3cc3b8845552495c686
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66a52f706ce3c45ef529352b1ec3ba414051d035
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ad5bdffffa9420bbdc0df4f6f0f96fdc1c17bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96cdc6db4b6a247f64a9aea357ac56dc6814e2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bc59373400ad70d5d73874659d7a3f11e9ce4db
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f809a28cc7227bf020f4f5d0187bb1ce201458d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8af6a478ccfbaa39620e52662730c0b2187
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b76a8a7e8193b06280007dec31fe041784f4477
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6407cdae5f3df5dff418abff0c5584771712f2d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5206c2e2d481cc58be6d48f50e5a5b70b8c259ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInfluencingParameter_scope_Scope.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInfluencingParameter_scope_Scope.gif
new file mode 100644
index 0000000000000000000000000000000000000000..adc52b4222a1e263acdad5fbde8a2ef80b230111
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInfluencingParameter_scope_Scope.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIntSampleList_items_IntSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIntSampleList_items_IntSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..58e344bde6e67edf637479de523bc72b9485e0f3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIntSampleList_items_IntSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_blackBoxBehavior_BlackBoxBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_blackBoxBehavior_BlackBoxBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7f3140706575745c5706a629156c3511075bf5f5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_blackBoxBehavior_BlackBoxBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_providedRoles_ProvidedRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_providedRoles_ProvidedRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..da5a15f5c5ecbde398a13ad22965c03e50467d94
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_providedRoles_ProvidedRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingRequiringEntity_coarseGrainedBehavior_CoarseGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingRequiringEntity_coarseGrainedBehavior_CoarseGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2a8a6d1e38bb13d6fa2ac65f9f78c8862a761a28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingRequiringEntity_coarseGrainedBehavior_CoarseGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_requiredRoles_RequiredRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_requiredRoles_RequiredRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f8b4deab4f94ba144d205bf4cc0d4cb3ffc24429
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_requiredRoles_RequiredRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterface_signatures_Signature.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterface_signatures_Signature.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ee915d49e60111fe4f541f493f9a78e9230aee0a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterface_signatures_Signature.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemandSpecification_ResourceDemandSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemandSpecification_ResourceDemandSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec670471e4341637ed05dec9c932b9655d785a87
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemandSpecification_ResourceDemandSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopBodyBehavior_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopBodyBehavior_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9e4b0fb72072c8f6f9cb738d6722aa174db6a9e1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopBodyBehavior_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCountDistribution_LoopIterationCountDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCountDistribution_LoopIterationCountDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49d98d937adca33420af6b8a14e9d8debe501fd3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCountDistribution_LoopIterationCountDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_BoolSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_BoolSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29f98e74f3139e4f7fb6bb50c7d71dc24cb4a917
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_BoolSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_DoubleSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_DoubleSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..431ba00e4299e1710a110f10d373136688af69dc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_DoubleSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_EnumSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_EnumSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3da98f774369141f4654a5bcd2bbcdb33eadef6e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_EnumSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_IntSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_IntSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..59e174d67ca4d29995fbe4aba5a797f67e4d0c98
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_IntSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9364baeebd68fcf2f2dec0086bb32bb281d282
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..57dceaeb0fe00cb3a7cc923a564d7c886b03b40d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4833facbbbe2e81dbf0a255d06a51ec1c7580442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8861542f93fe939b6541db275cf7a9314565442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16301136d1900ee7e82fcba9ce78e7211e6ee42d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..794791ad9f0ed2e2b2ef655bbc8a37934f7733e3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94fcc9b70088516f072b5053844526c811159300
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..171603a7477054ce1620bba297b31810f90f07e9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..babb084892c4d14f28525b05b99b0ecd71c070ed
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf6dfd56a6d651e98ec7c60e9aec23851457687f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9364baeebd68fcf2f2dec0086bb32bb281d282
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..57dceaeb0fe00cb3a7cc923a564d7c886b03b40d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4833facbbbe2e81dbf0a255d06a51ec1c7580442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8861542f93fe939b6541db275cf7a9314565442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16301136d1900ee7e82fcba9ce78e7211e6ee42d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..794791ad9f0ed2e2b2ef655bbc8a37934f7733e3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94fcc9b70088516f072b5053844526c811159300
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..171603a7477054ce1620bba297b31810f90f07e9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..babb084892c4d14f28525b05b99b0ecd71c070ed
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf6dfd56a6d651e98ec7c60e9aec23851457687f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_BasicComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_BasicComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89d8767bf56c38fd34720d1577c45b61dc8817ca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_BasicComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_CompositeComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_CompositeComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b19f705944427e17a1e9dcb69b79d3466837f80
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_CompositeComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_SubSystem.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_SubSystem.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec9a814da6c63196082a15ae263ced39edef2bcb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_SubSystem.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CollectionDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CollectionDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1607f910083346345671e52588d6acdb6f1dd0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CollectionDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CompositeDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CompositeDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d415ad7a8c90ab0d2815152c2b5b5d21547ecb7a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CompositeDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..064dd753f37e2cb898d8ce99bbaf2b968d7d6529
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_imports_Import.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_imports_Import.gif
new file mode 100644
index 0000000000000000000000000000000000000000..381214b7725a0ba12c093604e1b4bf4c563cc604
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_imports_Import.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_interfaces_Interface.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_interfaces_Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..396a4d777ec58bb09a606e602d9361edefe10f20
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_interfaces_Interface.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..776c80f6941746bf9722ccfc686f54495ade6cd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallReturnParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallReturnParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..961acc569eeb7e4c29325471ff08355036e604fd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallReturnParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_InfluencingParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_InfluencingParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..201f4af13be14a8275afe17377fb83ecff18dfd2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_InfluencingParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ServiceInputParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ServiceInputParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b7e2f30c26a2406b1f2f4addcc24ad457934b4de
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ServiceInputParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateSignature_parameters_Parameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateSignature_parameters_Parameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3090830045ce6bf1b0f2f3100b6322a6e93d4eda
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateSignature_parameters_Parameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04aab9257b410114d814aa6c4591dbf71f20b349
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ac141af672d33e778eb5683c7ada59c0c468c93
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12ec17b7cf21b8fa552e66383c5d5ffc0f473328
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b42bd7b416b8f97563664cd539a9b6a73cfe0df
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0d8e38fd5b70a70ce1dcade2f13fa443cd5a5e6f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6875c5d9205616b899b4aea3b33f6b9b41138bcf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d415ad7a8c90ab0d2815152c2b5b5d21547ecb7a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..942aab31ac211bec367f60f03e1ff847bb4ba5aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1607f910083346345671e52588d6acdb6f1dd0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74f7ceb34b938a5d45117b8b00f03c067b4a51a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04aab9257b410114d814aa6c4591dbf71f20b349
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ac141af672d33e778eb5683c7ada59c0c468c93
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12ec17b7cf21b8fa552e66383c5d5ffc0f473328
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b42bd7b416b8f97563664cd539a9b6a73cfe0df
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0d8e38fd5b70a70ce1dcade2f13fa443cd5a5e6f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6875c5d9205616b899b4aea3b33f6b9b41138bcf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d415ad7a8c90ab0d2815152c2b5b5d21547ecb7a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..942aab31ac211bec367f60f03e1ff847bb4ba5aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1607f910083346345671e52588d6acdb6f1dd0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74f7ceb34b938a5d45117b8b00f03c067b4a51a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c05a41849689a719a2c5c69a55df481451fc980a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..385b36595f65a969076a1f527677d0e96cf79d51
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af07ba12a2bdf3e480696fa3388fd266e8ad87c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..908375cea5aebb62d3cd94b436b77ed1f6dbdbda
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..464e623af1bec3cb9169427f8df20d5108dce5cc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..38d77bbab6c0d9efba0dd5521fc028ef50978388
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fc34e45332d798cca5ae2b823a9ca1ab4c0954c0
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af07ba12a2bdf3e480696fa3388fd266e8ad87c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3423b903ca3cf68d0fc3f574b8f2ed48e5e63820
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..959b8924b24669468c75f3fe603543e3d2c5cc08
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9c7efc49c09f042f89d2bd727f3c1d9e788c1301
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..908375cea5aebb62d3cd94b436b77ed1f6dbdbda
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d2f734b1512dac405e7b55fbdba0935aec78f4b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..959b8924b24669468c75f3fe603543e3d2c5cc08
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f8189adbeb9c651b1e073744529291b07715292
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..883ce93b4303d7e81ab88f53bb8a3a3cf3eae2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AbstractAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AbstractAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f8041d22553d3f326e3e82be501f2e9bac3794b0
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AbstractAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AcquireAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AcquireAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AcquireAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c673a5200a53ebd68c78c5cdb9d1bd4eaa855afb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyContext.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyContext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyContext.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BasicComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BasicComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BasicComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BlackBoxBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BlackBoxBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed8747474012f8278002a9785026a1a40155b192
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BlackBoxBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8d381f0b327e1289745a7e8ea72b5cc7b782bfe
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dc74ad5da0d7b040b29537d5b24f2b120b11d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c00aedf4135a384d1a98a5344c27454f488cbe42
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8a5c70cbd74c87cb3b1df383e0c242ede4660c3b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchProbabilities.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchProbabilities.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4365960a04b1589a21b7607f45f9b5907e2f01a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchProbabilities.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchTransition.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchTransition.gif
new file mode 100644
index 0000000000000000000000000000000000000000..420eee177528d9bd6d862c38d2a66c14835a6140
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchTransition.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CoarseGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CoarseGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..45731fe28e7e3521c15328ef201d58b47a13b383
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CoarseGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CollectionDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CollectionDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CollectionDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInstanceReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33854e98c25a13543eb9477dc67b0baf87fc81aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInstanceReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c3370c7ddd5e0817a59de6fd45ad0993b52abe28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..35ef84e20e26f1cef1dcd7ae80d192fd40472368
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1e5345fb3237c2f6eabcee2dbe44a371b49d8379
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ef56c140853105ca812564e9b12a76413c8c3fb9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CorrelationRelationship.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CorrelationRelationship.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CorrelationRelationship.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DependencyRelationship.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DependencyRelationship.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DependencyRelationship.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EmpiricalCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EmpiricalCharacterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EmpiricalCharacterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..136e3b27269e84a045f9b528614d7dfd316e444c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitCharacterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c00aedf4135a384d1a98a5344c27454f488cbe42
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitCharacterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCall.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a17dc7d88e993e89a1d5f913ddfab16b1676c5bb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCall.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallReturnParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallReturnParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..badaab0664ae45de5d990f64638197daeabf31bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallReturnParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FineGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FineGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FineGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ForkAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ForkAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33854e98c25a13543eb9477dc67b0baf87fc81aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ForkAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5915591825a5301b9f9a3d398baea497ef02311d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c00aedf4135a384d1a98a5344c27454f488cbe42
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be22463d2919f13a6345bad3166fc216c3f0942a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Import.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Import.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98b351f1c441775dfbe390577f2e534a4dcf07f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Import.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a3908bcf7b4ec0b29040bb1ef944c4d5a93fbb32
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariable.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencingParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencingParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencingParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InnerDeclaration.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InnerDeclaration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InnerDeclaration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..134551bff7eb3f0beb14a6c4a270a2a94f782ec5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Interface.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Interface.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InternalAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InternalAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InternalAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Literal.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Literal.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Literal.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCountDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCountDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30f0c48da8d4450f7e94a696c4de0a7cc41aa728
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCountDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..35ef84e20e26f1cef1dcd7ae80d192fd40472368
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1f8afa47661703c49bd5fa535dcb1342deb6fc4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityDensityFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityDensityFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b3643da048a40135b62eed5100cac5afe1ecef3c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityDensityFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ea58a657dc0c287f6bb84e6cbd38008c96713db3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c00aedf4135a384d1a98a5344c27454f488cbe42
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4365960a04b1589a21b7607f45f9b5907e2f01a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RandomVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..904159880b359f157463f3cb9230da602e5b3d3a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RandomVariable.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ReleaseAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ReleaseAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed8747474012f8278002a9785026a1a40155b192
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ReleaseAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Repository.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Repository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Repository.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RepositoryComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RepositoryComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RepositoryComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dc74ad5da0d7b040b29537d5b24f2b120b11d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemandSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemandSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemandSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTimeSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTimeSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..14af8aaee9f431cebfb2b13249821419380131a3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTimeSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Sample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Sample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..904159880b359f157463f3cb9230da602e5b3d3a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Sample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed8747474012f8278002a9785026a1a40155b192
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Semaphore.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Semaphore.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a9bc7514facefe049e8f5d98bb2e1e37f03c0c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Semaphore.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ServiceInputParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ServiceInputParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4a8af418445186dec6bb4f750c13a832181fe76
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ServiceInputParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Signature.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Signature.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Signature.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StartAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StartAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb1755a712505aeaaa447d9b1cc5940e602f87b6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StartAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a26660ec28fda4a4216562537c32047bab42b782
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/SubSystem.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/SubSystem.gif
new file mode 100644
index 0000000000000000000000000000000000000000..10d222998af0a3a571390bae7e117c9964ec1562
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/SubSystem.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/System.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/System.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89ad5da38ab3060f14ba925b1251bd5cb8454012
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/System.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..739ebbfa6ac7b44cc1632663c006f47e20f05127
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d62c4c9d8c1e76ebade6dc99d737b397df34e4ff
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
@@ -0,0 +1,410 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Applicationlevel Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Role_type = Role
+_UI_InterfaceProvidingEntity_type = Interface Providing Entity
+_UI_InterfaceRequiringEntity_type = Interface Requiring Entity
+_UI_InterfaceProvidingRequiringEntity_type = Interface Providing Requiring Entity
+_UI_RequiredRole_type = Required Role
+_UI_ProvidedRole_type = Provided Role
+_UI_ComposedStructure_type = Composed Structure
+_UI_ComposedProvidingRequiringEntity_type = Composed Providing Requiring Entity
+_UI_AssemblyContext_type = Assembly Context
+_UI_AssemblyConnector_type = Assembly Connector
+_UI_DelegationConnector_type = Delegation Connector
+_UI_ProvidedDelegationConnector_type = Provided Delegation Connector
+_UI_RequiredDelegationConnector_type = Required Delegation Connector
+_UI_Interface_type = Interface
+_UI_Signature_type = Signature
+_UI_Parameter_type = Parameter
+_UI_Repository_type = Repository
+_UI_RepositoryComponent_type = Component
+_UI_BasicComponent_type = Basic Component
+_UI_CompositeComponent_type = Composite Component
+_UI_SubSystem_type = Sub System
+_UI_DataType_type = Data Type
+_UI_CollectionDataType_type = Collection Data Type
+_UI_CompositeDataType_type = Composite Data Type
+_UI_InnerDeclaration_type = Inner Declaration
+_UI_PrimitiveDataType_type = Primitive Data Type
+_UI_ServiceBehaviorAbstraction_type = Service Behavior Abstraction
+_UI_FineGrainedBehavior_type = Fine Grained Behavior
+_UI_ComponentInternalBehavior_type = Component Internal Behavior
+_UI_AbstractAction_type = Abstract Action
+_UI_StartAction_type = Start Action
+_UI_StopAction_type = Stop Action
+_UI_AcquireAction_type = Acquire Action
+_UI_ReleaseAction_type = Release Action
+_UI_InternalAction_type = Internal Action
+_UI_ForkAction_type = Fork Action
+_UI_BranchAction_type = Branch Action
+_UI_BranchProbabilities_type = Branch Probabilities
+_UI_BranchTransition_type = Branch Transition
+_UI_LoopAction_type = Loop Action
+_UI_LoopIterationCountDistribution_type = Loop Iteration Count Distribution
+_UI_ExternalCallAction_type = External Call Action
+_UI_ExternalCall_type = External Call
+_UI_ResourceDemandSpecification_type = Resource Demand Specification
+_UI_CoarseGrainedBehavior_type = Coarse Grained Behavior
+_UI_ExternalCallFrequency_type = External Call Frequency
+_UI_CallFrequency_type = Call Frequency
+_UI_BlackBoxBehavior_type = Black Box Behavior
+_UI_ResponseTimeSpecification_type = Response Time Specification
+_UI_System_type = System
+_UI_ModelVariable_type = Model Variable
+_UI_ControlFlowSpecification_type = Control Flow Specification
+_UI_InfluencedVariable_type = Influenced Variable
+_UI_InfluencingParameter_type = Influencing Parameter
+_UI_Relationship_type = Relationship
+_UI_DependencyRelationship_type = Dependency Relationship
+_UI_CorrelationRelationship_type = Correlation Relationship
+_UI_ComponentInstanceReference_type = Component Instance Reference
+_UI_Scope_type = Scope
+_UI_CallParameter_type = Call Parameter
+_UI_ServiceInputParameter_type = Service Input Parameter
+_UI_ExternalCallReturnParameter_type = External Call Return Parameter
+_UI_ExternalCallParameter_type = External Call Parameter
+_UI_ExplicitFunction_type = Explicit Function
+_UI_Expression_type = Expression
+_UI_IfElse_type = If Else
+_UI_BooleanExpression_type = Boolean Expression
+_UI_Comparison_type = Comparison
+_UI_Term_type = Term
+_UI_Product_type = Product
+_UI_Power_type = Power
+_UI_Unary_type = Unary
+_UI_TermExpression_type = Term Expression
+_UI_ProductExpression_type = Product Expression
+_UI_CompareExpression_type = Compare Expression
+_UI_PowerExpression_type = Power Expression
+_UI_BooleanOperatorExpression_type = Boolean Operator Expression
+_UI_NotExpression_type = Not Expression
+_UI_NegativeExpression_type = Negative Expression
+_UI_IfElseExpression_type = If Else Expression
+_UI_Atom_type = Atom
+_UI_Function_type = Function
+_UI_Parenthesis_type = Parenthesis
+_UI_Literal_type = Literal
+_UI_NumericLiteral_type = Numeric Literal
+_UI_StringLiteral_type = String Literal
+_UI_BoolLiteral_type = Bool Literal
+_UI_IntLiteral_type = Int Literal
+_UI_DoubleLiteral_type = Double Literal
+_UI_FormalParameter_type = Formal Parameter
+_UI_EmpiricalFunction_type = Empirical Function
+_UI_RandomVariable_type = Random Variable
+_UI_ProbabilityFunction_type = Probability Function
+_UI_ProbabilityMassFunction_type = Probability Mass Function
+_UI_Sample_type = Sample
+_UI_ProbabilityDensityFunction_type = Probability Density Function
+_UI_BoxedPDF_type = Boxed PDF
+_UI_ContinuousSample_type = Continuous Sample
+_UI_ContinuousPDF_type = Continuous PDF
+_UI_NormalDistribution_type = Normal Distribution
+_UI_ExponentialDistribution_type = Exponential Distribution
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_InterfaceProvidingEntity_providedRoles_feature = Provided Roles
+_UI_InterfaceProvidingEntity_blackBoxBehavior_feature = Black Box Behavior
+_UI_InterfaceRequiringEntity_requiredRoles_feature = Required Roles
+_UI_InterfaceProvidingRequiringEntity_coarseGrainedBehavior_feature = Coarse Grained Behavior
+_UI_InterfaceProvidingRequiringEntity_relationship_feature = Relationship
+_UI_RequiredRole_interfaceRequiringEntity_feature = Interface Requiring Entity
+_UI_RequiredRole_interface_feature = Interface
+_UI_ProvidedRole_interfaceProvidingEntity_feature = Interface Providing Entity
+_UI_ProvidedRole_interface_feature = Interface
+_UI_ComposedStructure_assemblyContexts_feature = Assembly Contexts
+_UI_ComposedStructure_assemblyConnectors_feature = Assembly Connectors
+_UI_ComposedStructure_providedDelegationConnectors_feature = Provided Delegation Connectors
+_UI_ComposedStructure_requiredDelegationConnectors_feature = Required Delegation Connectors
+_UI_AssemblyContext_parentStructure_feature = Parent Structure
+_UI_AssemblyContext_encapsulatedComponent_feature = Encapsulated Component
+_UI_AssemblyConnector_parentStructure_feature = Parent Structure
+_UI_AssemblyConnector_requiredRole_feature = Required Role
+_UI_AssemblyConnector_providedRole_feature = Provided Role
+_UI_AssemblyConnector_providingAssemblyContext_feature = Providing Assembly Context
+_UI_AssemblyConnector_requiringAssemblyContext_feature = Requiring Assembly Context
+_UI_DelegationConnector_assemblyContext_feature = Assembly Context
+_UI_ProvidedDelegationConnector_parentStructure_feature = Parent Structure
+_UI_ProvidedDelegationConnector_innerProvidedRole_feature = Inner Provided Role
+_UI_ProvidedDelegationConnector_outerProvidedRole_feature = Outer Provided Role
+_UI_RequiredDelegationConnector_parentStructure_feature = Parent Structure
+_UI_RequiredDelegationConnector_innerRequiredRole_feature = Inner Required Role
+_UI_RequiredDelegationConnector_outerRequiredRole_feature = Outer Required Role
+_UI_Interface_repository_feature = Repository
+_UI_Interface_parentInterfaces_feature = Parent Interfaces
+_UI_Interface_signatures_feature = Signatures
+_UI_Signature_parameters_feature = Parameters
+_UI_Signature_returnType_feature = Return Type
+_UI_Signature_interface_feature = Interface
+_UI_Parameter_modifier_feature = Modifier
+_UI_Parameter_dataType_feature = Data Type
+_UI_Repository_datatypes_feature = Datatypes
+_UI_Repository_interfaces_feature = Interfaces
+_UI_Repository_components_feature = Components
+_UI_RepositoryComponent_repository_feature = Repository
+_UI_BasicComponent_passiveResources_feature = Passive Resources
+_UI_BasicComponent_fineGrainedBehavior_feature = Fine Grained Behavior
+_UI_DataType_repository_feature = Repository
+_UI_CollectionDataType_innerType_feature = Inner Type
+_UI_CompositeDataType_innerDeclarations_feature = Inner Declarations
+_UI_CompositeDataType_parentTypes_feature = Parent Types
+_UI_InnerDeclaration_dataType_feature = Data Type
+_UI_InnerDeclaration_compositeDataType_feature = Composite Data Type
+_UI_PrimitiveDataType_type_feature = Type
+_UI_ServiceBehaviorAbstraction_describedSignature_feature = Described Signature
+_UI_ServiceBehaviorAbstraction_influencingParameter_feature = Influencing Parameter
+_UI_FineGrainedBehavior_basicComponent_feature = Basic Component
+_UI_FineGrainedBehavior_behavior_feature = Behavior
+_UI_ComponentInternalBehavior_actions_feature = Actions
+_UI_ComponentInternalBehavior_parentSpecification_feature = Parent Specification
+_UI_AbstractAction_parentBehavior_feature = Parent Behavior
+_UI_AbstractAction_predecessor_feature = Predecessor
+_UI_AbstractAction_successor_feature = Successor
+_UI_AcquireAction_passiveResource_feature = Passive Resource
+_UI_ReleaseAction_passiveResource_feature = Passive Resource
+_UI_InternalAction_resourceDemandSpecification_feature = Resource Demand Specification
+_UI_ForkAction_withSynchronizationBarrier_feature = With Synchronization Barrier
+_UI_ForkAction_forkedBehaviors_feature = Forked Behaviors
+_UI_BranchAction_branches_feature = Branches
+_UI_BranchAction_branchProbabilities_feature = Branch Probabilities
+_UI_BranchProbabilities_probabilities_feature = Probabilities
+_UI_BranchTransition_branchAction_feature = Branch Action
+_UI_BranchTransition_branchBehavior_feature = Branch Behavior
+_UI_LoopAction_loopBodyBehavior_feature = Loop Body Behavior
+_UI_LoopAction_loopIterationCountDistribution_feature = Loop Iteration Count Distribution
+_UI_LoopIterationCountDistribution_loopAction_feature = Loop Action
+_UI_LoopIterationCountDistribution_loopIterationCountDistribution_feature = Loop Iteration Count Distribution
+_UI_ExternalCall_signature_feature = Signature
+_UI_ExternalCall_requiredRole_feature = Required Role
+_UI_ResourceDemandSpecification_internalAction_feature = Internal Action
+_UI_ResourceDemandSpecification_coarseGrainedBehavior_feature = Coarse Grained Behavior
+_UI_ResourceDemandSpecification_processingResourceType_feature = Processing Resource Type
+_UI_CoarseGrainedBehavior_describedEntity_feature = Described Entity
+_UI_CoarseGrainedBehavior_externalCallFrequency_feature = External Call Frequency
+_UI_CoarseGrainedBehavior_resourceDemandSpecification_feature = Resource Demand Specification
+_UI_ExternalCallFrequency_coarseGrainedBehavior_feature = Coarse Grained Behavior
+_UI_ExternalCallFrequency_externalCall_feature = External Call
+_UI_ExternalCallFrequency_frequency_feature = Frequency
+_UI_CallFrequency_externalCallFrequency_feature = External Call Frequency
+_UI_CallFrequency_frequency_feature = Frequency
+_UI_BlackBoxBehavior_describedEntity_feature = Described Entity
+_UI_BlackBoxBehavior_responseTimeSpecification_feature = Response Time Specification
+_UI_ResponseTimeSpecification_blackBoxBehavior_feature = Black Box Behavior
+_UI_InfluencedVariable_controlFlowVariable_feature = Control Flow Variable
+_UI_InfluencedVariable_resourceDemand_feature = Resource Demand
+_UI_InfluencedVariable_responseTime_feature = Response Time
+_UI_InfluencingParameter_behavior_feature = Behavior
+_UI_InfluencingParameter_name_feature = Name
+_UI_InfluencingParameter_description_feature = Description
+_UI_InfluencingParameter_scope_feature = Scope
+_UI_Relationship_surroundingEntity_feature = Surrounding Entity
+_UI_DependencyRelationship_influencedVariable_feature = Influenced Variable
+_UI_DependencyRelationship_influencingParameter_feature = Influencing Parameter
+_UI_CorrelationRelationship_leftInfluencingParameter_feature = Left Influencing Parameter
+_UI_CorrelationRelationship_rightInfluencingParameter_feature = Right Influencing Parameter
+_UI_CorrelationRelationship_leftComponentInstanceReference_feature = Left Component Instance Reference
+_UI_CorrelationRelationship_rightComponentInstanceReference_feature = Right Component Instance Reference
+_UI_ComponentInstanceReference_assemblies_feature = Assemblies
+_UI_Scope_influencingParameter_feature = Influencing Parameter
+_UI_Scope_interfaceProvidingRequiringEntity_feature = Interface Providing Requiring Entity
+_UI_CallParameter_characterization_feature = Characterization
+_UI_CallParameter_signature_feature = Signature
+_UI_CallParameter_parameter_feature = Parameter
+_UI_CallParameter_returnType_feature = Return Type
+_UI_ServiceInputParameter_providedRole_feature = Provided Role
+_UI_ExternalCallReturnParameter_externalCall_feature = External Call
+_UI_ExternalCallParameter_externallCall_feature = Externall Call
+_UI_ExplicitFunction_specification_feature = Specification
+_UI_ExplicitFunction_expression_feature = Expression
+_UI_TermExpression_left_feature = Left
+_UI_TermExpression_right_feature = Right
+_UI_TermExpression_operation_feature = Operation
+_UI_ProductExpression_left_feature = Left
+_UI_ProductExpression_right_feature = Right
+_UI_ProductExpression_operation_feature = Operation
+_UI_CompareExpression_left_feature = Left
+_UI_CompareExpression_right_feature = Right
+_UI_CompareExpression_operation_feature = Operation
+_UI_PowerExpression_base_feature = Base
+_UI_PowerExpression_exponent_feature = Exponent
+_UI_BooleanOperatorExpression_left_feature = Left
+_UI_BooleanOperatorExpression_right_feature = Right
+_UI_BooleanOperatorExpression_operation_feature = Operation
+_UI_NotExpression_inner_feature = Inner
+_UI_NegativeExpression_inner_feature = Inner
+_UI_IfElseExpression_ifExpression_feature = If Expression
+_UI_IfElseExpression_elseExpression_feature = Else Expression
+_UI_IfElseExpression_conditionExpression_feature = Condition Expression
+_UI_Function_id_feature = Id
+_UI_Function_parameters_feature = Parameters
+_UI_Parenthesis_innerExpression_feature = Inner Expression
+_UI_StringLiteral_value_feature = Value
+_UI_BoolLiteral_value_feature = Value
+_UI_IntLiteral_value_feature = Value
+_UI_DoubleLiteral_value_feature = Value
+_UI_FormalParameter_name_feature = Name
+_UI_RandomVariable_specification_feature = Specification
+_UI_RandomVariable_probFunction_feature = Prob Function
+_UI_ProbabilityMassFunction_sample_feature = Sample
+_UI_Sample_value_feature = Value
+_UI_Sample_probability_feature = Probability
+_UI_BoxedPDF_sample_feature = Sample
+_UI_ContinuousSample_value_feature = Value
+_UI_ContinuousSample_probability_feature = Probability
+_UI_NormalDistribution_mu_feature = Mu
+_UI_NormalDistribution_sigma_feature = Sigma
+_UI_ExponentialDistribution_rate_feature = Rate
+_UI_Unknown_feature = Unspecified
+
+_UI_ParameterModifier_NONE_literal = NONE
+_UI_ParameterModifier_IN_literal = IN
+_UI_ParameterModifier_OUT_literal = OUT
+_UI_ParameterModifier_INOUT_literal = INOUT
+_UI_PrimitiveTypeEnum_INT_literal = INT
+_UI_PrimitiveTypeEnum_STRING_literal = STRING
+_UI_PrimitiveTypeEnum_BOOL_literal = BOOL
+_UI_PrimitiveTypeEnum_DOUBLE_literal = DOUBLE
+_UI_PrimitiveTypeEnum_CHAR_literal = CHAR
+_UI_PrimitiveTypeEnum_BYTE_literal = BYTE
+_UI_PrimitiveTypeEnum_LONG_literal = LONG
+_UI_CharacterizationType_VALUE_literal = VALUE
+_UI_CharacterizationType_NUMBER_OF_ELEMENTS_literal = NUMBER_OF_ELEMENTS
+_UI_TermOperations_ADD_literal = ADD
+_UI_TermOperations_SUB_literal = SUB
+_UI_ProductOperations_MULT_literal = MULT
+_UI_ProductOperations_DIV_literal = DIV
+_UI_ProductOperations_MOD_literal = MOD
+_UI_CompareOperations_GREATER_literal = GREATER
+_UI_CompareOperations_EQUALS_literal = EQUALS
+_UI_CompareOperations_LESS_literal = LESS
+_UI_CompareOperations_NOTEQUAL_literal = NOTEQUAL
+_UI_CompareOperations_LESSEQUAL_literal = LESSEQUAL
+_UI_CompareOperations_GREATEREQUAL_literal = GREATEREQUAL
+_UI_BooleanOperations_AND_literal = AND
+_UI_BooleanOperations_OR_literal = OR
+_UI_BooleanOperations_XOR_literal = XOR
+_UI_ExplicitCharacterization_type = Explicit Characterization
+_UI_ComposedStructureAssembly_type = Composed Structure Assembly
+_UI_DependencyRelationship_empiricalCharacterization_feature = Empirical Characterization
+_UI_DependencyRelationship_explicitCharacterization_feature = Explicit Characterization
+_UI_CorrelationRelationship_leftToRightEmpiricalCharacterization_feature = Left To Right Empirical Characterization
+_UI_CorrelationRelationship_leftToRightExplicitCharacterization_feature = Left To Right Explicit Characterization
+_UI_CorrelationRelationship_rightToLeftEmpiricalCharacterization_feature = Right To Left Empirical Characterization
+_UI_CorrelationRelationship_rightToLeftExplicitCharacterization_feature = Right To Left Explicit Characterization
+_UI_ExplicitCharacterization_explicitFunction_feature = Explicit Function
+_UI_ComposedStructureAssembly_assemblyContexts_feature = Assembly Contexts
+_UI_ComposedStructureAssembly_assemblyConnectors_feature = Assembly Connectors
+_UI_ComposedStructureAssembly_providedDelegationConnectors_feature = Provided Delegation Connectors
+_UI_ComposedStructureAssembly_requiredDelegationConnectors_feature = Required Delegation Connectors
+_UI_AssemblyContext_parentAssembly_feature = Parent Assembly
+_UI_AssemblyConnector_parentAssembly_feature = Parent Assembly
+_UI_ProvidedDelegationConnector_parentAssembly_feature = Parent Assembly
+_UI_RequiredDelegationConnector_parentAssembly_feature = Parent Assembly
+_UI_ComposedStructure_assembly_feature = Assembly
+_UI_EmpiricalCharacterization_VALUE_literal = VALUE
+_UI_EmpiricalCharacterization_NUMBER_OF_ELEMENTS_literal = NUMBER_OF_ELEMENTS
+_UI_SubSystem_NONE_literal = NONE
+_UI_SubSystem_IN_literal = IN
+_UI_SubSystem_OUT_literal = OUT
+_UI_SubSystem_INOUT_literal = INOUT
+_UI_Import_type = Import
+_UI_Import_importedNamespace_feature = Imported Namespace
+_UI_Import_repository_feature = Repository
+_UI_Repository_imports_feature = Imports
+_UI_PrimitiveDataType_name_feature = Name
+_UI_EmpiricalCharacterization_type = Empirical Characterization
+_UI_Semaphore_type = Semaphore
+_UI_EmpiricalCharacterization_empiricalFunction_feature = Empirical Function
+_UI_BasicComponent_semaphores_feature = Semaphores
+_UI_Semaphore_capacity_feature = Capacity
+_UI_AcquireAction_semaphore_feature = Semaphore
+_UI_ReleaseAction_semaphore_feature = Semaphore
+_UI_Import_importURI_feature = Import URI
+_UI_ServiceBehaviorAbstraction_providedRole_feature = Provided Role
+_UI_BooleanLiteral_type = Boolean Literal
+_UI_BinaryBooleanExpression_type = Binary Boolean Expression
+_UI_UnaryBooleanExpression_type = Unary Boolean Expression
+_UI_Function_name_feature = Name
+_UI_FormalParameter_value_feature = Value
+_UI_BooleanLiteral_value_feature = Value
+_UI_IfElseExpression_condition_feature = Condition
+_UI_IfElseExpression_trueExp_feature = True Exp
+_UI_IfElseExpression_falseExp_feature = False Exp
+_UI_BinaryBooleanExpression_left_feature = Left
+_UI_BinaryBooleanExpression_operation_feature = Operation
+_UI_BinaryBooleanExpression_right_feature = Right
+_UI_UnaryBooleanExpression_inner_feature = Inner
+_UI_Comparison_left_feature = Left
+_UI_Comparison_operation_feature = Operation
+_UI_Comparison_right_feature = Right
+_UI_Term_left_feature = Left
+_UI_Term_operation_feature = Operation
+_UI_Term_right_feature = Right
+_UI_Product_left_feature = Left
+_UI_Product_operation_feature = Operation
+_UI_Product_right_feature = Right
+_UI_Power_base_feature = Base
+_UI_Power_exponent_feature = Exponent
+_UI_ProductOperation_MULT_literal = MULT
+_UI_ProductOperation_DIV_literal = DIV
+_UI_ProductOperation_MOD_literal = MOD
+_UI_TermOperation_ADD_literal = ADD
+_UI_TermOperation_SUB_literal = SUB
+_UI_CompareOperation_GREATER_literal = GREATER
+_UI_CompareOperation_LESS_literal = LESS
+_UI_CompareOperation_EQUALS_literal = EQUALS
+_UI_CompareOperation_NOTEQUAL_literal = NOTEQUAL
+_UI_CompareOperation_LESSEQUAL_literal = LESSEQUAL
+_UI_CompareOperation_GREATEREQUAL_literal = GREATEREQUAL
+_UI_BooleanOperation_AND_literal = AND
+_UI_BooleanOperation_OR_literal = OR
+_UI_BooleanOperation_XOR_literal = XOR
+_UI_ContinuousSample_ADD_literal = ADD
+_UI_ContinuousSample_SUB_literal = SUB
+_UI_ContinuousPDF_ADD_literal = ADD
+_UI_ContinuousPDF_SUB_literal = SUB
+_UI_NormalDistribution_MULT_literal = MULT
+_UI_NormalDistribution_DIV_literal = DIV
+_UI_NormalDistribution_MOD_literal = MOD
+_UI_ExponentialDistribution_GREATER_literal = GREATER
+_UI_ExponentialDistribution_EQUALS_literal = EQUALS
+_UI_ExponentialDistribution_LESS_literal = LESS
+_UI_ExponentialDistribution_NOTEQUAL_literal = NOTEQUAL
+_UI_ExponentialDistribution_LESSEQUAL_literal = LESSEQUAL
+_UI_ExponentialDistribution_GREATEREQUAL_literal = GREATEREQUAL
+_UI_SampleList_type = Sample List
+_UI_DoubleSample_type = Double Sample
+_UI_IntSample_type = Int Sample
+_UI_BoolSample_type = Bool Sample
+_UI_EnumSample_type = Enum Sample
+_UI_IntSampleList_type = Int Sample List
+_UI_DoubleSampleList_type = Double Sample List
+_UI_BoolSampleList_type = Bool Sample List
+_UI_EnumSampleList_type = Enum Sample List
+_UI_ProbabilityMassFunction_samples_feature = Samples
+_UI_DoubleSample_value_feature = Value
+_UI_DoubleSample_probability_feature = Probability
+_UI_IntSample_value_feature = Value
+_UI_IntSample_probability_feature = Probability
+_UI_BoolSample_value_feature = Value
+_UI_BoolSample_probability_feature = Probability
+_UI_EnumSample_value_feature = Value
+_UI_EnumSample_probability_feature = Probability
+_UI_IntSampleList_items_feature = Items
+_UI_DoubleSampleList_items_feature = Items
+_UI_BoolSampleList_items_feature = Items
+_UI_EnumSampleList_items_feature = Items
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.xml b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..165039447f1ebd91b5c5c626dce5be163569c83f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/functions/0.1"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.functions.provider.FunctionsItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/parameterdependencies/0.1"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ParameterdependenciesItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/repository/0.1"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.repository.provider.RepositoryItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/servicebehavior/0.1"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider.ServicebehaviorItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/system/0.1"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.system.provider.SystemItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/AtomItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/AtomItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5ab5adfbce58661228e3add47ed2f54466cf1eae
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/AtomItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.applicationlevel.functions.Atom} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AtomItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AtomItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Atom_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ccd5c297441d715976ab8ece84ffe82b6580c28f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java
@@ -0,0 +1,367 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanOperation;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BinaryBooleanExpressionItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BinaryBooleanExpressionItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BinaryBooleanExpression_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BinaryBooleanExpression_operation_feature", "_UI_BinaryBooleanExpression_type"),
+				 FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__OPERATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT);
+		}
+		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 BinaryBooleanExpression.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BinaryBooleanExpression"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BooleanOperation labelValue = ((BinaryBooleanExpression)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_BinaryBooleanExpression_type") :
+			getString("_UI_BinaryBooleanExpression_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(BinaryBooleanExpression.class)) {
+			case FunctionsPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
+			case FunctionsPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
+				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
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT ||
+			childFeature == FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6daa470880ace1d7b10e8f91f954c5ae288ccb88
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleItemProvider.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.BoolSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoolSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoolSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_BoolSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoolSample_value_feature", "_UI_BoolSample_type"),
+				 FunctionsPackage.Literals.BOOL_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BoolSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoolSample_probability_feature", "_UI_BoolSample_type"),
+				 FunctionsPackage.Literals.BOOL_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BoolSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoolSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BoolSample boolSample = (BoolSample)object;
+		return getString("_UI_BoolSample_type") + " " + boolSample.isValue();
+	}
+
+	/**
+	 * 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(BoolSample.class)) {
+			case FunctionsPackage.BOOL_SAMPLE__VALUE:
+			case FunctionsPackage.BOOL_SAMPLE__PROBABILITY:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..79763ec8d8c45af7b01575890ea5a9c25f7783fb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.BoolSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoolSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoolSampleListItemProvider(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(FunctionsPackage.Literals.BOOL_SAMPLE_LIST__ITEMS);
+		}
+		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 BoolSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoolSampleList"));
+	}
+
+	/**
+	 * 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_BoolSampleList_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(BoolSampleList.class)) {
+			case FunctionsPackage.BOOL_SAMPLE_LIST__ITEMS:
+				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
+				(FunctionsPackage.Literals.BOOL_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createBoolSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BooleanLiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BooleanLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b9d90a287f2103e92c86e8a1a60e9e0445926eb5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BooleanLiteralItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanLiteral;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.BooleanLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BooleanLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BooleanLiteralItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_BooleanLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BooleanLiteral_value_feature", "_UI_BooleanLiteral_type"),
+				 FunctionsPackage.Literals.BOOLEAN_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BooleanLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BooleanLiteral booleanLiteral = (BooleanLiteral)object;
+		return getString("_UI_BooleanLiteral_type") + " " + booleanLiteral.isValue();
+	}
+
+	/**
+	 * 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(BooleanLiteral.class)) {
+			case FunctionsPackage.BOOLEAN_LITERAL__VALUE:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoxedPDFItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoxedPDFItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf9f666b332dc4054d1448424fb75e25f0941910
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoxedPDFItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.BoxedPDF} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoxedPDFItemProvider
+	extends ProbabilityDensityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoxedPDFItemProvider(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(FunctionsPackage.Literals.BOXED_PDF__SAMPLE);
+		}
+		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 BoxedPDF.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoxedPDF"));
+	}
+
+	/**
+	 * 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_BoxedPDF_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(BoxedPDF.class)) {
+			case FunctionsPackage.BOXED_PDF__SAMPLE:
+				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
+				(FunctionsPackage.Literals.BOXED_PDF__SAMPLE,
+				 FunctionsFactory.eINSTANCE.createContinuousSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd67e7e648d35f630a33701945220fa01a33a0ab
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.CompareOperation;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComparisonItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComparisonItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Comparison_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Comparison_operation_feature", "_UI_Comparison_type"),
+				 FunctionsPackage.Literals.COMPARISON__OPERATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(FunctionsPackage.Literals.COMPARISON__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.COMPARISON__RIGHT);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		CompareOperation labelValue = ((Comparison)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Comparison_type") :
+			getString("_UI_Comparison_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(Comparison.class)) {
+			case FunctionsPackage.COMPARISON__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.COMPARISON__LEFT:
+			case FunctionsPackage.COMPARISON__RIGHT:
+				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
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.COMPARISON__LEFT ||
+			childFeature == FunctionsPackage.Literals.COMPARISON__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousPDFItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousPDFItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c25c0bcff6a168b2f9e8fdad930ed3f66ffcd733
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousPDFItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.applicationlevel.functions.ContinuousPDF} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContinuousPDFItemProvider
+	extends ProbabilityDensityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ContinuousPDFItemProvider(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 returns ContinuousPDF.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ContinuousPDF"));
+	}
+
+	/**
+	 * 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_ContinuousPDF_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8213947af9d8c8cef65883b84b53e1adb2687686
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousSampleItemProvider.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import java.math.BigDecimal;
+
+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.applicationlevel.functions.ContinuousSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContinuousSampleItemProvider
+	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 ContinuousSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_ContinuousSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ContinuousSample_value_feature", "_UI_ContinuousSample_type"),
+				 FunctionsPackage.Literals.CONTINUOUS_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ContinuousSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ContinuousSample_probability_feature", "_UI_ContinuousSample_type"),
+				 FunctionsPackage.Literals.CONTINUOUS_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ContinuousSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ContinuousSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((ContinuousSample)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ContinuousSample_type") :
+			getString("_UI_ContinuousSample_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(ContinuousSample.class)) {
+			case FunctionsPackage.CONTINUOUS_SAMPLE__VALUE:
+			case FunctionsPackage.CONTINUOUS_SAMPLE__PROBABILITY:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleLiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b1d1d624ee738056c41be34f796f754a7795643
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleLiteralItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleLiteral;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.math.BigDecimal;
+
+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.applicationlevel.functions.DoubleLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleLiteralItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_DoubleLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DoubleLiteral_value_feature", "_UI_DoubleLiteral_type"),
+				 FunctionsPackage.Literals.DOUBLE_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DoubleLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((DoubleLiteral)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DoubleLiteral_type") :
+			getString("_UI_DoubleLiteral_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(DoubleLiteral.class)) {
+			case FunctionsPackage.DOUBLE_LITERAL__VALUE:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9a587bb5b0654fe9f8c4fb5c32b559fe597f175
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.math.BigDecimal;
+
+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.applicationlevel.functions.DoubleSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_DoubleSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DoubleSample_value_feature", "_UI_DoubleSample_type"),
+				 FunctionsPackage.Literals.DOUBLE_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DoubleSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DoubleSample_probability_feature", "_UI_DoubleSample_type"),
+				 FunctionsPackage.Literals.DOUBLE_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DoubleSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((DoubleSample)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DoubleSample_type") :
+			getString("_UI_DoubleSample_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(DoubleSample.class)) {
+			case FunctionsPackage.DOUBLE_SAMPLE__VALUE:
+			case FunctionsPackage.DOUBLE_SAMPLE__PROBABILITY:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5e107a72af1bd5f2701fd124b162345603762cb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.DoubleSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleSampleListItemProvider(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(FunctionsPackage.Literals.DOUBLE_SAMPLE_LIST__ITEMS);
+		}
+		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 DoubleSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleSampleList"));
+	}
+
+	/**
+	 * 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_DoubleSampleList_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(DoubleSampleList.class)) {
+			case FunctionsPackage.DOUBLE_SAMPLE_LIST__ITEMS:
+				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
+				(FunctionsPackage.Literals.DOUBLE_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createDoubleSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EmpiricalFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EmpiricalFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..0eba62d8cc2b103f7881e1b630a8911ae444f028
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EmpiricalFunctionItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.functions.EmpiricalFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EmpiricalFunctionItemProvider
+	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 EmpiricalFunctionItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_EmpiricalFunction_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c0109e34d5ce510d11b38315364ff7184172d410
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleItemProvider.java
@@ -0,0 +1,168 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.EnumSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnumSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EnumSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_EnumSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EnumSample_value_feature", "_UI_EnumSample_type"),
+				 FunctionsPackage.Literals.ENUM_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EnumSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EnumSample_probability_feature", "_UI_EnumSample_type"),
+				 FunctionsPackage.Literals.ENUM_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns EnumSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EnumSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((EnumSample)object).getValue();
+		return label == null || label.length() == 0 ?
+			getString("_UI_EnumSample_type") :
+			getString("_UI_EnumSample_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(EnumSample.class)) {
+			case FunctionsPackage.ENUM_SAMPLE__VALUE:
+			case FunctionsPackage.ENUM_SAMPLE__PROBABILITY:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..53374d4a98d5351ce4a2b4ab5eed95631f6769eb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.EnumSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnumSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EnumSampleListItemProvider(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(FunctionsPackage.Literals.ENUM_SAMPLE_LIST__ITEMS);
+		}
+		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 EnumSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EnumSampleList"));
+	}
+
+	/**
+	 * 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_EnumSampleList_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(EnumSampleList.class)) {
+			case FunctionsPackage.ENUM_SAMPLE_LIST__ITEMS:
+				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
+				(FunctionsPackage.Literals.ENUM_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createEnumSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f17332f51fce903871499d79c524f073309a4e59
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.applicationlevel.functions.ExplicitFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExplicitFunctionItemProvider
+	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 ExplicitFunctionItemProvider(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);
+
+			addSpecificationPropertyDescriptor(object);
+			addExpressionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Specification feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSpecificationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExplicitFunction_specification_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExplicitFunction_specification_feature", "_UI_ExplicitFunction_type"),
+				 FunctionsPackage.Literals.EXPLICIT_FUNCTION__SPECIFICATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Expression feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addExpressionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExplicitFunction_expression_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExplicitFunction_expression_feature", "_UI_ExplicitFunction_type"),
+				 FunctionsPackage.Literals.EXPLICIT_FUNCTION__EXPRESSION,
+				 false,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExplicitFunction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExplicitFunction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExplicitFunction)object).getSpecification();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExplicitFunction_type") :
+			getString("_UI_ExplicitFunction_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(ExplicitFunction.class)) {
+			case FunctionsPackage.EXPLICIT_FUNCTION__SPECIFICATION:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExponentialDistributionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExponentialDistributionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8a4568f8b9247de40723c679e28288381c4c6878
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExponentialDistributionItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ExponentialDistribution;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.math.BigDecimal;
+
+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.applicationlevel.functions.ExponentialDistribution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExponentialDistributionItemProvider
+	extends ContinuousPDFItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExponentialDistributionItemProvider(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);
+
+			addRatePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Rate feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRatePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExponentialDistribution_rate_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExponentialDistribution_rate_feature", "_UI_ExponentialDistribution_type"),
+				 FunctionsPackage.Literals.EXPONENTIAL_DISTRIBUTION__RATE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExponentialDistribution.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExponentialDistribution"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((ExponentialDistribution)object).getRate();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExponentialDistribution_type") :
+			getString("_UI_ExponentialDistribution_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(ExponentialDistribution.class)) {
+			case FunctionsPackage.EXPONENTIAL_DISTRIBUTION__RATE:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExpressionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e8cca165ecd931d5dbe3d3142c5d354b5116f816
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExpressionItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.functions.Expression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionItemProvider
+	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 ExpressionItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Expression_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FormalParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FormalParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ba97052f453b26aefd1372a304424cdafd591b3f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FormalParameterItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FormalParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.applicationlevel.functions.FormalParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FormalParameterItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FormalParameterItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_FormalParameter_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FormalParameter_value_feature", "_UI_FormalParameter_type"),
+				 FunctionsPackage.Literals.FORMAL_PARAMETER__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FormalParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FormalParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((FormalParameter)object).getValue();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FormalParameter_type") :
+			getString("_UI_FormalParameter_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(FormalParameter.class)) {
+			case FunctionsPackage.FORMAL_PARAMETER__VALUE:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..24f4567fbfceb966a6e9c100dcf827fbe46fed77
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
@@ -0,0 +1,260 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Function;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Function} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionItemProvider
+	extends AtomItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FunctionItemProvider(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);
+		}
+		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_Function_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Function_name_feature", "_UI_Function_type"),
+				 FunctionsPackage.Literals.FUNCTION__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(FunctionsPackage.Literals.FUNCTION__PARAMETERS);
+		}
+		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 Function.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Function"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Function)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Function_type") :
+			getString("_UI_Function_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(Function.class)) {
+			case FunctionsPackage.FUNCTION__NAME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.FUNCTION__PARAMETERS:
+				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
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..2140b9b0794d5900a4b71e5a87868d758bcd7212
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java
@@ -0,0 +1,848 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.util.FunctionsAdapterFactory;
+
+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 FunctionsItemProviderAdapterFactory extends FunctionsAdapterFactory 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 FunctionsItemProviderAdapterFactory() {
+		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.applicationlevel.functions.ExplicitFunction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExplicitFunctionItemProvider explicitFunctionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExplicitFunctionAdapter() {
+		if (explicitFunctionItemProvider == null) {
+			explicitFunctionItemProvider = new ExplicitFunctionItemProvider(this);
+		}
+
+		return explicitFunctionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Function} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FunctionItemProvider functionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Function}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFunctionAdapter() {
+		if (functionItemProvider == null) {
+			functionItemProvider = new FunctionItemProvider(this);
+		}
+
+		return functionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.FormalParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FormalParameterItemProvider formalParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.FormalParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFormalParameterAdapter() {
+		if (formalParameterItemProvider == null) {
+			formalParameterItemProvider = new FormalParameterItemProvider(this);
+		}
+
+		return formalParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BooleanLiteralItemProvider booleanLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBooleanLiteralAdapter() {
+		if (booleanLiteralItemProvider == null) {
+			booleanLiteralItemProvider = new BooleanLiteralItemProvider(this);
+		}
+
+		return booleanLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntLiteralItemProvider intLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntLiteralAdapter() {
+		if (intLiteralItemProvider == null) {
+			intLiteralItemProvider = new IntLiteralItemProvider(this);
+		}
+
+		return intLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleLiteralItemProvider doubleLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDoubleLiteralAdapter() {
+		if (doubleLiteralItemProvider == null) {
+			doubleLiteralItemProvider = new DoubleLiteralItemProvider(this);
+		}
+
+		return doubleLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IfElseExpressionItemProvider ifElseExpressionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIfElseExpressionAdapter() {
+		if (ifElseExpressionItemProvider == null) {
+			ifElseExpressionItemProvider = new IfElseExpressionItemProvider(this);
+		}
+
+		return ifElseExpressionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BinaryBooleanExpressionItemProvider binaryBooleanExpressionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBinaryBooleanExpressionAdapter() {
+		if (binaryBooleanExpressionItemProvider == null) {
+			binaryBooleanExpressionItemProvider = new BinaryBooleanExpressionItemProvider(this);
+		}
+
+		return binaryBooleanExpressionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UnaryBooleanExpressionItemProvider unaryBooleanExpressionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createUnaryBooleanExpressionAdapter() {
+		if (unaryBooleanExpressionItemProvider == null) {
+			unaryBooleanExpressionItemProvider = new UnaryBooleanExpressionItemProvider(this);
+		}
+
+		return unaryBooleanExpressionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComparisonItemProvider comparisonItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createComparisonAdapter() {
+		if (comparisonItemProvider == null) {
+			comparisonItemProvider = new ComparisonItemProvider(this);
+		}
+
+		return comparisonItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Term} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TermItemProvider termItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Term}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createTermAdapter() {
+		if (termItemProvider == null) {
+			termItemProvider = new TermItemProvider(this);
+		}
+
+		return termItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Product} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProductItemProvider productItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Product}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProductAdapter() {
+		if (productItemProvider == null) {
+			productItemProvider = new ProductItemProvider(this);
+		}
+
+		return productItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Power} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PowerItemProvider powerItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Power}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPowerAdapter() {
+		if (powerItemProvider == null) {
+			powerItemProvider = new PowerItemProvider(this);
+		}
+
+		return powerItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EmpiricalFunction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EmpiricalFunctionItemProvider empiricalFunctionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EmpiricalFunction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEmpiricalFunctionAdapter() {
+		if (empiricalFunctionItemProvider == null) {
+			empiricalFunctionItemProvider = new EmpiricalFunctionItemProvider(this);
+		}
+
+		return empiricalFunctionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.RandomVariable} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RandomVariableItemProvider randomVariableItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.RandomVariable}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRandomVariableAdapter() {
+		if (randomVariableItemProvider == null) {
+			randomVariableItemProvider = new RandomVariableItemProvider(this);
+		}
+
+		return randomVariableItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProbabilityMassFunctionItemProvider probabilityMassFunctionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProbabilityMassFunctionAdapter() {
+		if (probabilityMassFunctionItemProvider == null) {
+			probabilityMassFunctionItemProvider = new ProbabilityMassFunctionItemProvider(this);
+		}
+
+		return probabilityMassFunctionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleSampleItemProvider doubleSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDoubleSampleAdapter() {
+		if (doubleSampleItemProvider == null) {
+			doubleSampleItemProvider = new DoubleSampleItemProvider(this);
+		}
+
+		return doubleSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntSampleItemProvider intSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntSampleAdapter() {
+		if (intSampleItemProvider == null) {
+			intSampleItemProvider = new IntSampleItemProvider(this);
+		}
+
+		return intSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoolSampleItemProvider boolSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoolSampleAdapter() {
+		if (boolSampleItemProvider == null) {
+			boolSampleItemProvider = new BoolSampleItemProvider(this);
+		}
+
+		return boolSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EnumSampleItemProvider enumSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEnumSampleAdapter() {
+		if (enumSampleItemProvider == null) {
+			enumSampleItemProvider = new EnumSampleItemProvider(this);
+		}
+
+		return enumSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntSampleListItemProvider intSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntSampleListAdapter() {
+		if (intSampleListItemProvider == null) {
+			intSampleListItemProvider = new IntSampleListItemProvider(this);
+		}
+
+		return intSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleSampleListItemProvider doubleSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDoubleSampleListAdapter() {
+		if (doubleSampleListItemProvider == null) {
+			doubleSampleListItemProvider = new DoubleSampleListItemProvider(this);
+		}
+
+		return doubleSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoolSampleListItemProvider boolSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoolSampleListAdapter() {
+		if (boolSampleListItemProvider == null) {
+			boolSampleListItemProvider = new BoolSampleListItemProvider(this);
+		}
+
+		return boolSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EnumSampleListItemProvider enumSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEnumSampleListAdapter() {
+		if (enumSampleListItemProvider == null) {
+			enumSampleListItemProvider = new EnumSampleListItemProvider(this);
+		}
+
+		return enumSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoxedPDFItemProvider boxedPDFItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoxedPDFAdapter() {
+		if (boxedPDFItemProvider == null) {
+			boxedPDFItemProvider = new BoxedPDFItemProvider(this);
+		}
+
+		return boxedPDFItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ContinuousSampleItemProvider continuousSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createContinuousSampleAdapter() {
+		if (continuousSampleItemProvider == null) {
+			continuousSampleItemProvider = new ContinuousSampleItemProvider(this);
+		}
+
+		return continuousSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.NormalDistribution} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NormalDistributionItemProvider normalDistributionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.NormalDistribution}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createNormalDistributionAdapter() {
+		if (normalDistributionItemProvider == null) {
+			normalDistributionItemProvider = new NormalDistributionItemProvider(this);
+		}
+
+		return normalDistributionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExponentialDistribution} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExponentialDistributionItemProvider exponentialDistributionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExponentialDistribution}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExponentialDistributionAdapter() {
+		if (exponentialDistributionItemProvider == null) {
+			exponentialDistributionItemProvider = new ExponentialDistributionItemProvider(this);
+		}
+
+		return exponentialDistributionItemProvider;
+	}
+
+	/**
+	 * 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 (explicitFunctionItemProvider != null) explicitFunctionItemProvider.dispose();
+		if (functionItemProvider != null) functionItemProvider.dispose();
+		if (formalParameterItemProvider != null) formalParameterItemProvider.dispose();
+		if (booleanLiteralItemProvider != null) booleanLiteralItemProvider.dispose();
+		if (intLiteralItemProvider != null) intLiteralItemProvider.dispose();
+		if (doubleLiteralItemProvider != null) doubleLiteralItemProvider.dispose();
+		if (ifElseExpressionItemProvider != null) ifElseExpressionItemProvider.dispose();
+		if (binaryBooleanExpressionItemProvider != null) binaryBooleanExpressionItemProvider.dispose();
+		if (unaryBooleanExpressionItemProvider != null) unaryBooleanExpressionItemProvider.dispose();
+		if (comparisonItemProvider != null) comparisonItemProvider.dispose();
+		if (termItemProvider != null) termItemProvider.dispose();
+		if (productItemProvider != null) productItemProvider.dispose();
+		if (powerItemProvider != null) powerItemProvider.dispose();
+		if (empiricalFunctionItemProvider != null) empiricalFunctionItemProvider.dispose();
+		if (randomVariableItemProvider != null) randomVariableItemProvider.dispose();
+		if (probabilityMassFunctionItemProvider != null) probabilityMassFunctionItemProvider.dispose();
+		if (doubleSampleItemProvider != null) doubleSampleItemProvider.dispose();
+		if (intSampleItemProvider != null) intSampleItemProvider.dispose();
+		if (boolSampleItemProvider != null) boolSampleItemProvider.dispose();
+		if (enumSampleItemProvider != null) enumSampleItemProvider.dispose();
+		if (intSampleListItemProvider != null) intSampleListItemProvider.dispose();
+		if (doubleSampleListItemProvider != null) doubleSampleListItemProvider.dispose();
+		if (boolSampleListItemProvider != null) boolSampleListItemProvider.dispose();
+		if (enumSampleListItemProvider != null) enumSampleListItemProvider.dispose();
+		if (boxedPDFItemProvider != null) boxedPDFItemProvider.dispose();
+		if (continuousSampleItemProvider != null) continuousSampleItemProvider.dispose();
+		if (normalDistributionItemProvider != null) normalDistributionItemProvider.dispose();
+		if (exponentialDistributionItemProvider != null) exponentialDistributionItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ea8fab7592be27a2842707d5d816ee7f9afcc91
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java
@@ -0,0 +1,417 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression;
+
+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.applicationlevel.functions.IfElseExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IfElseExpressionItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IfElseExpressionItemProvider(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(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION);
+			childrenFeatures.add(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP);
+			childrenFeatures.add(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP);
+		}
+		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 IfElseExpression.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IfElseExpression"));
+	}
+
+	/**
+	 * 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_IfElseExpression_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(IfElseExpression.class)) {
+			case FunctionsPackage.IF_ELSE_EXPRESSION__CONDITION:
+			case FunctionsPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
+			case FunctionsPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
+				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
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION ||
+			childFeature == FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP ||
+			childFeature == FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntLiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ee752692c62bf3a1e15a2804eaeb14c123b8214
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntLiteralItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral;
+
+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.applicationlevel.functions.IntLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntLiteralItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_IntLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntLiteral_value_feature", "_UI_IntLiteral_type"),
+				 FunctionsPackage.Literals.INT_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns IntLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigInteger labelValue = ((IntLiteral)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_IntLiteral_type") :
+			getString("_UI_IntLiteral_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(IntLiteral.class)) {
+			case FunctionsPackage.INT_LITERAL__VALUE:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..01602687dd956e7e8785cefe342b5fb4c47f9511
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample;
+
+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.applicationlevel.functions.IntSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_IntSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntSample_value_feature", "_UI_IntSample_type"),
+				 FunctionsPackage.Literals.INT_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_IntSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntSample_probability_feature", "_UI_IntSample_type"),
+				 FunctionsPackage.Literals.INT_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns IntSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigInteger labelValue = ((IntSample)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_IntSample_type") :
+			getString("_UI_IntSample_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(IntSample.class)) {
+			case FunctionsPackage.INT_SAMPLE__VALUE:
+			case FunctionsPackage.INT_SAMPLE__PROBABILITY:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..15b54f41a2c449badb598848c7dac5d5c26d60c6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList;
+
+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.applicationlevel.functions.IntSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntSampleListItemProvider(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(FunctionsPackage.Literals.INT_SAMPLE_LIST__ITEMS);
+		}
+		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 IntSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntSampleList"));
+	}
+
+	/**
+	 * 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_IntSampleList_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(IntSampleList.class)) {
+			case FunctionsPackage.INT_SAMPLE_LIST__ITEMS:
+				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
+				(FunctionsPackage.Literals.INT_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createIntSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ff70ec262e4b0a68afb31946c32f97725248b852
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.applicationlevel.functions.Literal} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LiteralItemProvider
+	extends AtomItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LiteralItemProvider(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 returns Literal.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Literal"));
+	}
+
+	/**
+	 * 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_Literal_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/NormalDistributionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/NormalDistributionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d26bfc620a3e87b8c646d6ca0cfe5a5748aef9f0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/NormalDistributionItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.NormalDistribution;
+
+import java.math.BigDecimal;
+
+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.applicationlevel.functions.NormalDistribution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NormalDistributionItemProvider
+	extends ContinuousPDFItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NormalDistributionItemProvider(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);
+
+			addMuPropertyDescriptor(object);
+			addSigmaPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Mu feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMuPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_NormalDistribution_mu_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_NormalDistribution_mu_feature", "_UI_NormalDistribution_type"),
+				 FunctionsPackage.Literals.NORMAL_DISTRIBUTION__MU,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Sigma feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSigmaPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_NormalDistribution_sigma_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_NormalDistribution_sigma_feature", "_UI_NormalDistribution_type"),
+				 FunctionsPackage.Literals.NORMAL_DISTRIBUTION__SIGMA,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns NormalDistribution.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/NormalDistribution"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((NormalDistribution)object).getMu();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_NormalDistribution_type") :
+			getString("_UI_NormalDistribution_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(NormalDistribution.class)) {
+			case FunctionsPackage.NORMAL_DISTRIBUTION__MU:
+			case FunctionsPackage.NORMAL_DISTRIBUTION__SIGMA:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d080a898003f68aa4234dc9c2db18ca40bba1094
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
@@ -0,0 +1,323 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Power;
+
+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.applicationlevel.functions.Power} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PowerItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PowerItemProvider(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(FunctionsPackage.Literals.POWER__BASE);
+			childrenFeatures.add(FunctionsPackage.Literals.POWER__EXPONENT);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Power_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(Power.class)) {
+			case FunctionsPackage.POWER__BASE:
+			case FunctionsPackage.POWER__EXPONENT:
+				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
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.POWER__BASE ||
+			childFeature == FunctionsPackage.Literals.POWER__EXPONENT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityDensityFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityDensityFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e04785d3f9d3cd4a24a498ff0eba6db598247b1a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityDensityFunctionItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.applicationlevel.functions.ProbabilityDensityFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityDensityFunctionItemProvider
+	extends ProbabilityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityDensityFunctionItemProvider(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 returns ProbabilityDensityFunction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProbabilityDensityFunction"));
+	}
+
+	/**
+	 * 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_ProbabilityDensityFunction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..56b7a6cfc702e1187e70c08de9d129f909ffdfa1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityFunctionItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.applicationlevel.functions.ProbabilityFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityFunctionItemProvider
+	extends AtomItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityFunctionItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ProbabilityFunction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityMassFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityMassFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..bcc9ddbb4890e8843784300967fc619ef67df09d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityMassFunctionItemProvider.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction;
+
+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.applicationlevel.functions.ProbabilityMassFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityMassFunctionItemProvider
+	extends ProbabilityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityMassFunctionItemProvider(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(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES);
+		}
+		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 ProbabilityMassFunction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProbabilityMassFunction"));
+	}
+
+	/**
+	 * 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_ProbabilityMassFunction_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(ProbabilityMassFunction.class)) {
+			case FunctionsPackage.PROBABILITY_MASS_FUNCTION__SAMPLES:
+				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
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createIntSampleList()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createDoubleSampleList()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createBoolSampleList()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createEnumSampleList()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab3ba51eb96b9dda7a7884b738714ec1977b636b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Product;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ProductOperation;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Product} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProductItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProductItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Product_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Product_operation_feature", "_UI_Product_type"),
+				 FunctionsPackage.Literals.PRODUCT__OPERATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(FunctionsPackage.Literals.PRODUCT__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.PRODUCT__RIGHT);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ProductOperation labelValue = ((Product)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Product_type") :
+			getString("_UI_Product_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(Product.class)) {
+			case FunctionsPackage.PRODUCT__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.PRODUCT__LEFT:
+			case FunctionsPackage.PRODUCT__RIGHT:
+				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
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.PRODUCT__LEFT ||
+			childFeature == FunctionsPackage.Literals.PRODUCT__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/RandomVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/RandomVariableItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d78095a4066486e1722a635c2bbd1934794d3936
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/RandomVariableItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.RandomVariable;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.applicationlevel.functions.RandomVariable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RandomVariableItemProvider
+	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 RandomVariableItemProvider(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);
+
+			addSpecificationPropertyDescriptor(object);
+			addProbFunctionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Specification feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSpecificationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RandomVariable_specification_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RandomVariable_specification_feature", "_UI_RandomVariable_type"),
+				 FunctionsPackage.Literals.RANDOM_VARIABLE__SPECIFICATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Prob Function feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbFunctionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RandomVariable_probFunction_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RandomVariable_probFunction_feature", "_UI_RandomVariable_type"),
+				 FunctionsPackage.Literals.RANDOM_VARIABLE__PROB_FUNCTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns RandomVariable.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RandomVariable"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((RandomVariable)object).getSpecification();
+		return label == null || label.length() == 0 ?
+			getString("_UI_RandomVariable_type") :
+			getString("_UI_RandomVariable_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(RandomVariable.class)) {
+			case FunctionsPackage.RANDOM_VARIABLE__SPECIFICATION:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6da79bf1b93ab0d462c6870faee385c82c76402
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleItemProvider.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.functions.Sample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SampleItemProvider
+	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 SampleItemProvider(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 returns Sample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Sample"));
+	}
+
+	/**
+	 * 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_Sample_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..221cecfdc837daa8ff36bdbe135198b1e9494b20
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleListItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.functions.SampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SampleListItemProvider
+	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 SampleListItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_SampleList_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cefc607c3c6e0b5a07814ae8b84028571ca84fca
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Term;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.TermOperation;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Term} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TermItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TermItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Term_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Term_operation_feature", "_UI_Term_type"),
+				 FunctionsPackage.Literals.TERM__OPERATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(FunctionsPackage.Literals.TERM__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.TERM__RIGHT);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		TermOperation labelValue = ((Term)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Term_type") :
+			getString("_UI_Term_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(Term.class)) {
+			case FunctionsPackage.TERM__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.TERM__LEFT:
+			case FunctionsPackage.TERM__RIGHT:
+				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
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.TERM__LEFT ||
+			childFeature == FunctionsPackage.Literals.TERM__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..35125743c02a4ab66f5520310784b965a75fa212
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression;
+
+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.applicationlevel.functions.UnaryBooleanExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UnaryBooleanExpressionItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UnaryBooleanExpressionItemProvider(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(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER);
+		}
+		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 UnaryBooleanExpression.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryBooleanExpression"));
+	}
+
+	/**
+	 * 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_UnaryBooleanExpression_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(UnaryBooleanExpression.class)) {
+			case FunctionsPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
+				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
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..65a8345bb515b473f48a146825659f2365b7923b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java
@@ -0,0 +1,202 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CallParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.applicationlevel.parameterdependencies.CallParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallParameterItemProvider
+	extends InfluencingParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CallParameterItemProvider(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);
+
+			addCharacterizationPropertyDescriptor(object);
+			addSignaturePropertyDescriptor(object);
+			addParameterPropertyDescriptor(object);
+			addReturnTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_CallParameter_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_characterization_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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_CallParameter_signature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_signature_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameter_parameter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_parameter_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Return Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addReturnTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameter_returnType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_returnType_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__RETURN_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CallParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CallParameter_type") :
+			getString("_UI_CallParameter_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(CallParameter.class)) {
+			case ParameterdependenciesPackage.CALL_PARAMETER__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);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ComponentInstanceReferenceItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ComponentInstanceReferenceItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4f2e025ce409a7fde30eb1dab1461ed224b3168c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ComponentInstanceReferenceItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ComponentInstanceReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentInstanceReferenceItemProvider
+	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 ComponentInstanceReferenceItemProvider(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);
+
+			addAssembliesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Assemblies feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addAssembliesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ComponentInstanceReference_assemblies_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ComponentInstanceReference_assemblies_feature", "_UI_ComponentInstanceReference_type"),
+				 ParameterdependenciesPackage.Literals.COMPONENT_INSTANCE_REFERENCE__ASSEMBLIES,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ComponentInstanceReference.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentInstanceReference"));
+	}
+
+	/**
+	 * 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_ComponentInstanceReference_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5e8f0c2b3df1a0b9f2fec8f0d7a9f4e6ad471468
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowSpecificationItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+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.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.applicationlevel.parameterdependencies.ControlFlowSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ControlFlowSpecificationItemProvider
+	extends ModelVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ControlFlowSpecificationItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ControlFlowSpecification_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8c86275eec00af6af6bb744f28248834cafe318
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CorrelationRelationship;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.applicationlevel.parameterdependencies.CorrelationRelationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CorrelationRelationshipItemProvider
+	extends RelationshipItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CorrelationRelationshipItemProvider(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);
+
+			addLeftInfluencingParameterPropertyDescriptor(object);
+			addRightInfluencingParameterPropertyDescriptor(object);
+			addLeftToRightEmpiricalCharacterizationPropertyDescriptor(object);
+			addRightToLeftEmpiricalCharacterizationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Left Influencing Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLeftInfluencingParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CorrelationRelationship_leftInfluencingParameter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_leftInfluencingParameter_feature", "_UI_CorrelationRelationship_type"),
+				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_INFLUENCING_PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Right Influencing Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRightInfluencingParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CorrelationRelationship_rightInfluencingParameter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_rightInfluencingParameter_feature", "_UI_CorrelationRelationship_type"),
+				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_INFLUENCING_PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Left To Right Empirical Characterization feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLeftToRightEmpiricalCharacterizationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CorrelationRelationship_leftToRightEmpiricalCharacterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_leftToRightEmpiricalCharacterization_feature", "_UI_CorrelationRelationship_type"),
+				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_TO_RIGHT_EMPIRICAL_CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Right To Left Empirical Characterization feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRightToLeftEmpiricalCharacterizationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CorrelationRelationship_rightToLeftEmpiricalCharacterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_rightToLeftEmpiricalCharacterization_feature", "_UI_CorrelationRelationship_type"),
+				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_TO_LEFT_EMPIRICAL_CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 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(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_COMPONENT_INSTANCE_REFERENCE);
+			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_COMPONENT_INSTANCE_REFERENCE);
+			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_TO_RIGHT_EXPLICIT_CHARACTERIZATION);
+			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_TO_LEFT_EXPLICIT_CHARACTERIZATION);
+		}
+		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 CorrelationRelationship.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CorrelationRelationship"));
+	}
+
+	/**
+	 * 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_CorrelationRelationship_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(CorrelationRelationship.class)) {
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__LEFT_TO_RIGHT_EMPIRICAL_CHARACTERIZATION:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__RIGHT_TO_LEFT_EMPIRICAL_CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__LEFT_COMPONENT_INSTANCE_REFERENCE:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__RIGHT_COMPONENT_INSTANCE_REFERENCE:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__LEFT_TO_RIGHT_EXPLICIT_CHARACTERIZATION:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__RIGHT_TO_LEFT_EXPLICIT_CHARACTERIZATION:
+				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
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_COMPONENT_INSTANCE_REFERENCE,
+				 ParameterdependenciesFactory.eINSTANCE.createComponentInstanceReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_COMPONENT_INSTANCE_REFERENCE,
+				 ParameterdependenciesFactory.eINSTANCE.createComponentInstanceReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_TO_RIGHT_EXPLICIT_CHARACTERIZATION,
+				 ParameterdependenciesFactory.eINSTANCE.createExplicitCharacterization()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_TO_LEFT_EXPLICIT_CHARACTERIZATION,
+				 ParameterdependenciesFactory.eINSTANCE.createExplicitCharacterization()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_COMPONENT_INSTANCE_REFERENCE ||
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_COMPONENT_INSTANCE_REFERENCE ||
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__LEFT_TO_RIGHT_EXPLICIT_CHARACTERIZATION ||
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__RIGHT_TO_LEFT_EXPLICIT_CHARACTERIZATION;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..df2ec7785da8e4fd05b796d0257737aa4a3d2691
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java
@@ -0,0 +1,227 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.DependencyRelationship;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.applicationlevel.parameterdependencies.DependencyRelationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependencyRelationshipItemProvider
+	extends RelationshipItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependencyRelationshipItemProvider(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);
+
+			addInfluencedVariablePropertyDescriptor(object);
+			addInfluencingParameterPropertyDescriptor(object);
+			addEmpiricalCharacterizationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Influenced Variable feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInfluencedVariablePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DependencyRelationship_influencedVariable_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_influencedVariable_feature", "_UI_DependencyRelationship_type"),
+				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__INFLUENCED_VARIABLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Influencing Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInfluencingParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DependencyRelationship_influencingParameter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_influencingParameter_feature", "_UI_DependencyRelationship_type"),
+				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__INFLUENCING_PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Empirical Characterization feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEmpiricalCharacterizationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DependencyRelationship_empiricalCharacterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_empiricalCharacterization_feature", "_UI_DependencyRelationship_type"),
+				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__EMPIRICAL_CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 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(ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__EXPLICIT_CHARACTERIZATION);
+		}
+		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 DependencyRelationship.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DependencyRelationship"));
+	}
+
+	/**
+	 * 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_DependencyRelationship_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(DependencyRelationship.class)) {
+			case ParameterdependenciesPackage.DEPENDENCY_RELATIONSHIP__EMPIRICAL_CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ParameterdependenciesPackage.DEPENDENCY_RELATIONSHIP__EXPLICIT_CHARACTERIZATION:
+				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
+				(ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__EXPLICIT_CHARACTERIZATION,
+				 ParameterdependenciesFactory.eINSTANCE.createExplicitCharacterization()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/EmpiricalCharacterizationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/EmpiricalCharacterizationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c6462264f58561940053831673841748ee3ec81b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/EmpiricalCharacterizationItemProvider.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.EmpiricalCharacterization;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.applicationlevel.parameterdependencies.EmpiricalCharacterization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EmpiricalCharacterizationItemProvider
+	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 EmpiricalCharacterizationItemProvider(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(ParameterdependenciesPackage.Literals.EMPIRICAL_CHARACTERIZATION__EMPIRICAL_FUNCTION);
+		}
+		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 EmpiricalCharacterization.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EmpiricalCharacterization"));
+	}
+
+	/**
+	 * 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_EmpiricalCharacterization_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(EmpiricalCharacterization.class)) {
+			case ParameterdependenciesPackage.EMPIRICAL_CHARACTERIZATION__EMPIRICAL_FUNCTION:
+				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
+				(ParameterdependenciesPackage.Literals.EMPIRICAL_CHARACTERIZATION__EMPIRICAL_FUNCTION,
+				 FunctionsFactory.eINSTANCE.createEmpiricalFunction()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExplicitCharacterizationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExplicitCharacterizationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9e9d0c20fe458f790e6a8a31e1b1453e47143f2f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExplicitCharacterizationItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExplicitCharacterization;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.applicationlevel.parameterdependencies.ExplicitCharacterization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExplicitCharacterizationItemProvider
+	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 ExplicitCharacterizationItemProvider(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(ParameterdependenciesPackage.Literals.EXPLICIT_CHARACTERIZATION__EXPLICIT_FUNCTION);
+		}
+		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 ExplicitCharacterization.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExplicitCharacterization"));
+	}
+
+	/**
+	 * 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_ExplicitCharacterization_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(ExplicitCharacterization.class)) {
+			case ParameterdependenciesPackage.EXPLICIT_CHARACTERIZATION__EXPLICIT_FUNCTION:
+				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
+				(ParameterdependenciesPackage.Literals.EXPLICIT_CHARACTERIZATION__EXPLICIT_FUNCTION,
+				 FunctionsFactory.eINSTANCE.createExplicitFunction()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f13a3224a66e5abe0df0588591265b1d7cb1203c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.applicationlevel.parameterdependencies.ExternalCallParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallParameterItemProvider
+	extends CallParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalCallParameterItemProvider(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);
+
+			addExternallCallPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Externall Call feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addExternallCallPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExternalCallParameter_externallCall_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCallParameter_externallCall_feature", "_UI_ExternalCallParameter_type"),
+				 ParameterdependenciesPackage.Literals.EXTERNAL_CALL_PARAMETER__EXTERNALL_CALL,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExternalCallParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExternalCallParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExternalCallParameter_type") :
+			getString("_UI_ExternalCallParameter_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa4df0c8bd1d66c02b3152f1cfe291289a746891
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.applicationlevel.parameterdependencies.ExternalCallReturnParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallReturnParameterItemProvider
+	extends CallParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalCallReturnParameterItemProvider(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);
+
+			addExternalCallPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the External Call feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addExternalCallPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExternalCallReturnParameter_externalCall_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCallReturnParameter_externalCall_feature", "_UI_ExternalCallReturnParameter_type"),
+				 ParameterdependenciesPackage.Literals.EXTERNAL_CALL_RETURN_PARAMETER__EXTERNAL_CALL,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExternalCallReturnParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallReturnParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExternalCallReturnParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExternalCallReturnParameter_type") :
+			getString("_UI_ExternalCallReturnParameter_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6f7e559c681f27368724cc0c0df60c2421031f22
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.applicationlevel.parameterdependencies.InfluencedVariable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InfluencedVariableItemProvider
+	extends ModelVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InfluencedVariableItemProvider(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);
+
+			addControlFlowVariablePropertyDescriptor(object);
+			addResourceDemandPropertyDescriptor(object);
+			addResponseTimePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Control Flow Variable feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addControlFlowVariablePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencedVariable_controlFlowVariable_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariable_controlFlowVariable_feature", "_UI_InfluencedVariable_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE__CONTROL_FLOW_VARIABLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Resource Demand feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResourceDemandPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencedVariable_resourceDemand_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariable_resourceDemand_feature", "_UI_InfluencedVariable_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE__RESOURCE_DEMAND,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Response Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResponseTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencedVariable_responseTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariable_responseTime_feature", "_UI_InfluencedVariable_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE__RESPONSE_TIME,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns InfluencedVariable.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InfluencedVariable"));
+	}
+
+	/**
+	 * 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_InfluencedVariable_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8d60cdbfab23717b8cd55510cb9d666147ab5f5d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
@@ -0,0 +1,232 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InfluencingParameterItemProvider
+	extends ModelVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InfluencingParameterItemProvider(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);
+
+			addBehaviorPropertyDescriptor(object);
+			addNamePropertyDescriptor(object);
+			addDescriptionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Behavior feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBehaviorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencingParameter_behavior_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencingParameter_behavior_feature", "_UI_InfluencingParameter_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__BEHAVIOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * 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_InfluencingParameter_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencingParameter_name_feature", "_UI_InfluencingParameter_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencingParameter_description_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencingParameter_description_feature", "_UI_InfluencingParameter_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__DESCRIPTION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__SCOPE);
+		}
+		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 InfluencingParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InfluencingParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InfluencingParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InfluencingParameter_type") :
+			getString("_UI_InfluencingParameter_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(InfluencingParameter.class)) {
+			case ParameterdependenciesPackage.INFLUENCING_PARAMETER__NAME:
+			case ParameterdependenciesPackage.INFLUENCING_PARAMETER__DESCRIPTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ParameterdependenciesPackage.INFLUENCING_PARAMETER__SCOPE:
+				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
+				(ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__SCOPE,
+				 ParameterdependenciesFactory.eINSTANCE.createScope()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..38a3f24fda9cd8063bbdea451257d0281cc63916
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.parameterdependencies.ModelVariable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelVariableItemProvider
+	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 ModelVariableItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ModelVariable_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c5fccde588e2413fc6735aca32b9e2ba27faa7a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java
@@ -0,0 +1,440 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.util.ParameterdependenciesAdapterFactory;
+
+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 ParameterdependenciesItemProviderAdapterFactory extends ParameterdependenciesAdapterFactory 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 ParameterdependenciesItemProviderAdapterFactory() {
+		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.applicationlevel.parameterdependencies.InfluencedVariable} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InfluencedVariableItemProvider influencedVariableItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencedVariable}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInfluencedVariableAdapter() {
+		if (influencedVariableItemProvider == null) {
+			influencedVariableItemProvider = new InfluencedVariableItemProvider(this);
+		}
+
+		return influencedVariableItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InfluencingParameterItemProvider influencingParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInfluencingParameterAdapter() {
+		if (influencingParameterItemProvider == null) {
+			influencingParameterItemProvider = new InfluencingParameterItemProvider(this);
+		}
+
+		return influencingParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.DependencyRelationship} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DependencyRelationshipItemProvider dependencyRelationshipItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.DependencyRelationship}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDependencyRelationshipAdapter() {
+		if (dependencyRelationshipItemProvider == null) {
+			dependencyRelationshipItemProvider = new DependencyRelationshipItemProvider(this);
+		}
+
+		return dependencyRelationshipItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CorrelationRelationship} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CorrelationRelationshipItemProvider correlationRelationshipItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CorrelationRelationship}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCorrelationRelationshipAdapter() {
+		if (correlationRelationshipItemProvider == null) {
+			correlationRelationshipItemProvider = new CorrelationRelationshipItemProvider(this);
+		}
+
+		return correlationRelationshipItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ComponentInstanceReference} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentInstanceReferenceItemProvider componentInstanceReferenceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ComponentInstanceReference}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createComponentInstanceReferenceAdapter() {
+		if (componentInstanceReferenceItemProvider == null) {
+			componentInstanceReferenceItemProvider = new ComponentInstanceReferenceItemProvider(this);
+		}
+
+		return componentInstanceReferenceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Scope} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ScopeItemProvider scopeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Scope}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createScopeAdapter() {
+		if (scopeItemProvider == null) {
+			scopeItemProvider = new ScopeItemProvider(this);
+		}
+
+		return scopeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExplicitCharacterization} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExplicitCharacterizationItemProvider explicitCharacterizationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExplicitCharacterization}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExplicitCharacterizationAdapter() {
+		if (explicitCharacterizationItemProvider == null) {
+			explicitCharacterizationItemProvider = new ExplicitCharacterizationItemProvider(this);
+		}
+
+		return explicitCharacterizationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.EmpiricalCharacterization} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EmpiricalCharacterizationItemProvider empiricalCharacterizationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.EmpiricalCharacterization}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEmpiricalCharacterizationAdapter() {
+		if (empiricalCharacterizationItemProvider == null) {
+			empiricalCharacterizationItemProvider = new EmpiricalCharacterizationItemProvider(this);
+		}
+
+		return empiricalCharacterizationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ServiceInputParameterItemProvider serviceInputParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createServiceInputParameterAdapter() {
+		if (serviceInputParameterItemProvider == null) {
+			serviceInputParameterItemProvider = new ServiceInputParameterItemProvider(this);
+		}
+
+		return serviceInputParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallReturnParameterItemProvider externalCallReturnParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallReturnParameterAdapter() {
+		if (externalCallReturnParameterItemProvider == null) {
+			externalCallReturnParameterItemProvider = new ExternalCallReturnParameterItemProvider(this);
+		}
+
+		return externalCallReturnParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallParameterItemProvider externalCallParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallParameterAdapter() {
+		if (externalCallParameterItemProvider == null) {
+			externalCallParameterItemProvider = new ExternalCallParameterItemProvider(this);
+		}
+
+		return externalCallParameterItemProvider;
+	}
+
+	/**
+	 * 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 (influencedVariableItemProvider != null) influencedVariableItemProvider.dispose();
+		if (influencingParameterItemProvider != null) influencingParameterItemProvider.dispose();
+		if (dependencyRelationshipItemProvider != null) dependencyRelationshipItemProvider.dispose();
+		if (correlationRelationshipItemProvider != null) correlationRelationshipItemProvider.dispose();
+		if (componentInstanceReferenceItemProvider != null) componentInstanceReferenceItemProvider.dispose();
+		if (scopeItemProvider != null) scopeItemProvider.dispose();
+		if (explicitCharacterizationItemProvider != null) explicitCharacterizationItemProvider.dispose();
+		if (empiricalCharacterizationItemProvider != null) empiricalCharacterizationItemProvider.dispose();
+		if (serviceInputParameterItemProvider != null) serviceInputParameterItemProvider.dispose();
+		if (externalCallReturnParameterItemProvider != null) externalCallReturnParameterItemProvider.dispose();
+		if (externalCallParameterItemProvider != null) externalCallParameterItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2567ac0d543cdce81158e1adb0ff411d238365ed
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Relationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RelationshipItemProvider
+	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 RelationshipItemProvider(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);
+
+			addSurroundingEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Surrounding Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSurroundingEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Relationship_surroundingEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Relationship_surroundingEntity_feature", "_UI_Relationship_type"),
+				 ParameterdependenciesPackage.Literals.RELATIONSHIP__SURROUNDING_ENTITY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * 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_Relationship_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..eada855b19a9068a11f5b3179c0248ccbb6190cf
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Scope} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ScopeItemProvider
+	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 ScopeItemProvider(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);
+
+			addInterfaceProvidingRequiringEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Interface Providing Requiring Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterfaceProvidingRequiringEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Scope_interfaceProvidingRequiringEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Scope_interfaceProvidingRequiringEntity_feature", "_UI_Scope_type"),
+				 ParameterdependenciesPackage.Literals.SCOPE__INTERFACE_PROVIDING_REQUIRING_ENTITY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Scope.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Scope"));
+	}
+
+	/**
+	 * 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_Scope_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..33a71a5c14d476d0f29863d3f8a8f017e82a051f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter;
+
+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.applicationlevel.parameterdependencies.ServiceInputParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServiceInputParameterItemProvider
+	extends CallParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServiceInputParameterItemProvider(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);
+
+			addProvidedRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Provided Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidedRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ServiceInputParameter_providedRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceInputParameter_providedRole_feature", "_UI_ServiceInputParameter_type"),
+				 ParameterdependenciesPackage.Literals.SERVICE_INPUT_PARAMETER__PROVIDED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ServiceInputParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ServiceInputParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ServiceInputParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ServiceInputParameter_type") :
+			getString("_UI_ServiceInputParameter_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..5613ed1190ce7d53729c06e9e086264f1349ba83
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Applicationlevel edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ApplicationlevelEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final ApplicationlevelEditPlugin INSTANCE = new ApplicationlevelEditPlugin();
+
+	/**
+	 * 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 ApplicationlevelEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea81508179a478e6a9ae1c755cf1c540db1bbf3f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyConnectorItemProvider.java
@@ -0,0 +1,222 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.ConnectorItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AssemblyConnectorItemProvider
+	extends ConnectorItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AssemblyConnectorItemProvider(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);
+
+			addRequiredRolePropertyDescriptor(object);
+			addProvidedRolePropertyDescriptor(object);
+			addProvidingAssemblyContextPropertyDescriptor(object);
+			addRequiringAssemblyContextPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Required Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRequiredRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_requiredRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_requiredRole_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__REQUIRED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Provided Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidedRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_providedRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_providedRole_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__PROVIDED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Providing Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidingAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_providingAssemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_providingAssemblyContext_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__PROVIDING_ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Requiring Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRequiringAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_requiringAssemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_requiringAssemblyContext_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__REQUIRING_ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AssemblyConnector.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AssemblyConnector"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((AssemblyConnector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AssemblyConnector_type") :
+			getString("_UI_AssemblyConnector_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyContextItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyContextItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2647230fdee7a3ee51a79024282d11355a36f7b4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyContextItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AssemblyContextItemProvider
+	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 AssemblyContextItemProvider(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);
+
+			addEncapsulatedComponentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Encapsulated Component feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEncapsulatedComponentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyContext_encapsulatedComponent_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyContext_encapsulatedComponent_feature", "_UI_AssemblyContext_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONTEXT__ENCAPSULATED_COMPONENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AssemblyContext.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AssemblyContext"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((AssemblyContext)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AssemblyContext_type") :
+			getString("_UI_AssemblyContext_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb6a388717586687f50d0aa73871bf640de8d43e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+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.applicationlevel.repository.BasicComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BasicComponentItemProvider
+	extends RepositoryComponentItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BasicComponentItemProvider(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(RepositoryPackage.Literals.BASIC_COMPONENT__SEMAPHORES);
+			childrenFeatures.add(RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_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 BasicComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BasicComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((BasicComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_BasicComponent_type") :
+			getString("_UI_BasicComponent_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(BasicComponent.class)) {
+			case RepositoryPackage.BASIC_COMPONENT__SEMAPHORES:
+			case RepositoryPackage.BASIC_COMPONENT__FINE_GRAINED_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
+				(RepositoryPackage.Literals.BASIC_COMPONENT__SEMAPHORES,
+				 RepositoryFactory.eINSTANCE.createSemaphore()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createFineGrainedBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CollectionDataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CollectionDataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..27ca49af14b65f715f628eaac4f06fb202dcfb51
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CollectionDataTypeItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CollectionDataTypeItemProvider
+	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 CollectionDataTypeItemProvider(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);
+
+			addInnerTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Inner Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInnerTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CollectionDataType_innerType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CollectionDataType_innerType_feature", "_UI_CollectionDataType_type"),
+				 RepositoryPackage.Literals.COLLECTION_DATA_TYPE__INNER_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CollectionDataType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CollectionDataType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CollectionDataType)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CollectionDataType_type") :
+			getString("_UI_CollectionDataType_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedProvidingRequiringEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedProvidingRequiringEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c2a9437e1404ad925aff515fa99fa6697ee59f8b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedProvidingRequiringEntityItemProvider.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.ComposedProvidingRequiringEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+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.applicationlevel.repository.ComposedProvidingRequiringEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComposedProvidingRequiringEntityItemProvider
+	extends ComposedStructureItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposedProvidingRequiringEntityItemProvider(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);
+
+			addRelationshipPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Relationship feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRelationshipPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InterfaceProvidingRequiringEntity_relationship_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InterfaceProvidingRequiringEntity_relationship_feature", "_UI_InterfaceProvidingRequiringEntity_type"),
+				 RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__RELATIONSHIP,
+				 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(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__PROVIDED_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ComposedProvidingRequiringEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ComposedProvidingRequiringEntity_type") :
+			getString("_UI_ComposedProvidingRequiringEntity_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(ComposedProvidingRequiringEntity.class)) {
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__PROVIDED_ROLES:
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__BLACK_BOX_BEHAVIOR:
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__REQUIRED_ROLES:
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_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
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__PROVIDED_ROLES,
+				 RepositoryFactory.eINSTANCE.createProvidedRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createBlackBoxBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES,
+				 RepositoryFactory.eINSTANCE.createRequiredRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createCoarseGrainedBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedStructureItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedStructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2dce45ff13e977019ed5018e1cadc198d0d69cf2
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedStructureItemProvider.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.ComposedStructure;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.ComposedStructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComposedStructureItemProvider
+	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 ComposedStructureItemProvider(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(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ComposedStructure)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ComposedStructure_type") :
+			getString("_UI_ComposedStructure_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(ComposedStructure.class)) {
+			case RepositoryPackage.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS:
+			case RepositoryPackage.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS:
+			case RepositoryPackage.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS:
+			case RepositoryPackage.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS:
+				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
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS,
+				 RepositoryFactory.eINSTANCE.createAssemblyContext()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createAssemblyConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createProvidedDelegationConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createRequiredDelegationConnector()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeComponentItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeComponentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d797a4b615aac734457cc2e40ae14fc7342146a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeComponentItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.CompositeComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CompositeComponentItemProvider
+	extends RepositoryComponentItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CompositeComponentItemProvider(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(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS);
+		}
+		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 CompositeComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CompositeComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CompositeComponent_type") :
+			getString("_UI_CompositeComponent_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(CompositeComponent.class)) {
+			case RepositoryPackage.COMPOSITE_COMPONENT__ASSEMBLY_CONTEXTS:
+			case RepositoryPackage.COMPOSITE_COMPONENT__ASSEMBLY_CONNECTORS:
+			case RepositoryPackage.COMPOSITE_COMPONENT__PROVIDED_DELEGATION_CONNECTORS:
+			case RepositoryPackage.COMPOSITE_COMPONENT__REQUIRED_DELEGATION_CONNECTORS:
+				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
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS,
+				 RepositoryFactory.eINSTANCE.createAssemblyContext()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createAssemblyConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createProvidedDelegationConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createRequiredDelegationConnector()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeDataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeDataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..142292c9e3de595760a501ddceef857db17717dc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeDataTypeItemProvider.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeDataType;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.CompositeDataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CompositeDataTypeItemProvider
+	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 CompositeDataTypeItemProvider(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);
+
+			addParentTypesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Parent Types feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParentTypesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CompositeDataType_parentTypes_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CompositeDataType_parentTypes_feature", "_UI_CompositeDataType_type"),
+				 RepositoryPackage.Literals.COMPOSITE_DATA_TYPE__PARENT_TYPES,
+				 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(RepositoryPackage.Literals.COMPOSITE_DATA_TYPE__INNER_DECLARATIONS);
+		}
+		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 CompositeDataType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeDataType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CompositeDataType)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CompositeDataType_type") :
+			getString("_UI_CompositeDataType_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(CompositeDataType.class)) {
+			case RepositoryPackage.COMPOSITE_DATA_TYPE__INNER_DECLARATIONS:
+				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
+				(RepositoryPackage.Literals.COMPOSITE_DATA_TYPE__INNER_DECLARATIONS,
+				 RepositoryFactory.eINSTANCE.createInnerDeclaration()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1d0f58880959df72ad19a3433f0dba6283e23b8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DataTypeItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.repository.DataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataTypeItemProvider
+	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 DataTypeItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DataType_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DelegationConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DelegationConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..df4b62bcba5c3c925b5f2238f3b4c4b4c298bd5a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DelegationConnectorItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.ConnectorItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.DelegationConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.DelegationConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DelegationConnectorItemProvider
+	extends ConnectorItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DelegationConnectorItemProvider(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);
+
+			addAssemblyContextPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DelegationConnector_assemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DelegationConnector_assemblyContext_feature", "_UI_DelegationConnector_type"),
+				 RepositoryPackage.Literals.DELEGATION_CONNECTOR__ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((DelegationConnector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DelegationConnector_type") :
+			getString("_UI_DelegationConnector_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ImportItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ImportItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..78e27d59148596f670863cbbaba8288ef4f7f3d0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ImportItemProvider.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Import;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.Import} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ImportItemProvider
+	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 ImportItemProvider(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);
+
+			addImportURIPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Import URI feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addImportURIPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Import_importURI_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Import_importURI_feature", "_UI_Import_type"),
+				 RepositoryPackage.Literals.IMPORT__IMPORT_URI,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Import.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Import"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Import)object).getImportURI();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Import_type") :
+			getString("_UI_Import_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(Import.class)) {
+			case RepositoryPackage.IMPORT__IMPORT_URI:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InnerDeclarationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InnerDeclarationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d303490cdcb5979854751bdce1641060f9fd61c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InnerDeclarationItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InnerDeclarationItemProvider
+	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 InnerDeclarationItemProvider(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);
+
+			addDataTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Data Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDataTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InnerDeclaration_dataType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InnerDeclaration_dataType_feature", "_UI_InnerDeclaration_type"),
+				 RepositoryPackage.Literals.INNER_DECLARATION__DATA_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns InnerDeclaration.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InnerDeclaration"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InnerDeclaration)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InnerDeclaration_type") :
+			getString("_UI_InnerDeclaration_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..414aae7c9c03d23e2eb2558e33e4b96466a348c0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceItemProvider.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Interface;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.Interface} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceItemProvider
+	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 InterfaceItemProvider(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);
+
+			addParentInterfacesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Parent Interfaces feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParentInterfacesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Interface_parentInterfaces_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Interface_parentInterfaces_feature", "_UI_Interface_type"),
+				 RepositoryPackage.Literals.INTERFACE__PARENT_INTERFACES,
+				 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(RepositoryPackage.Literals.INTERFACE__SIGNATURES);
+		}
+		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 Interface.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Interface"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Interface)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Interface_type") :
+			getString("_UI_Interface_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(Interface.class)) {
+			case RepositoryPackage.INTERFACE__SIGNATURES:
+				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
+				(RepositoryPackage.Literals.INTERFACE__SIGNATURES,
+				 RepositoryFactory.eINSTANCE.createSignature()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..744989f1a6a6f9367d25851fe8b04a58abaec25f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingEntityItemProvider.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+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.applicationlevel.repository.InterfaceProvidingEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceProvidingEntityItemProvider
+	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 InterfaceProvidingEntityItemProvider(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(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__PROVIDED_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InterfaceProvidingEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceProvidingEntity_type") :
+			getString("_UI_InterfaceProvidingEntity_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(InterfaceProvidingEntity.class)) {
+			case RepositoryPackage.INTERFACE_PROVIDING_ENTITY__PROVIDED_ROLES:
+			case RepositoryPackage.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_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
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__PROVIDED_ROLES,
+				 RepositoryFactory.eINSTANCE.createProvidedRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createBlackBoxBehavior()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRequiringEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRequiringEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b4f3b63f18ee5537bf8d574a3db02333626c598d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRequiringEntityItemProvider.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRequiringEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+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.applicationlevel.repository.InterfaceProvidingRequiringEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceProvidingRequiringEntityItemProvider
+	extends InterfaceProvidingEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceProvidingRequiringEntityItemProvider(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);
+
+			addRelationshipPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Relationship feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRelationshipPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InterfaceProvidingRequiringEntity_relationship_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InterfaceProvidingRequiringEntity_relationship_feature", "_UI_InterfaceProvidingRequiringEntity_type"),
+				 RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__RELATIONSHIP,
+				 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(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InterfaceProvidingRequiringEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceProvidingRequiringEntity_type") :
+			getString("_UI_InterfaceProvidingRequiringEntity_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(InterfaceProvidingRequiringEntity.class)) {
+			case RepositoryPackage.INTERFACE_PROVIDING_REQUIRING_ENTITY__REQUIRED_ROLES:
+			case RepositoryPackage.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_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
+				(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES,
+				 RepositoryFactory.eINSTANCE.createRequiredRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createCoarseGrainedBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d294a7f3428323f48551a9557e122aef71ac4303
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringEntityItemProvider.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceRequiringEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.InterfaceRequiringEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceRequiringEntityItemProvider
+	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 InterfaceRequiringEntityItemProvider(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(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InterfaceRequiringEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceRequiringEntity_type") :
+			getString("_UI_InterfaceRequiringEntity_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(InterfaceRequiringEntity.class)) {
+			case RepositoryPackage.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES:
+				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
+				(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__REQUIRED_ROLES,
+				 RepositoryFactory.eINSTANCE.createRequiredRole()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ffc9e2e94a82361723067d7cf949ce03c529a6aa
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ParameterItemProvider.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.NamedElementItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterItemProvider
+	extends NamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ParameterItemProvider(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);
+
+			addModifierPropertyDescriptor(object);
+			addDataTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Modifier feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addModifierPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Parameter_modifier_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Parameter_modifier_feature", "_UI_Parameter_type"),
+				 RepositoryPackage.Literals.PARAMETER__MODIFIER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Data Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDataTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Parameter_dataType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Parameter_dataType_feature", "_UI_Parameter_type"),
+				 RepositoryPackage.Literals.PARAMETER__DATA_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Parameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Parameter_type") :
+			getString("_UI_Parameter_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(Parameter.class)) {
+			case RepositoryPackage.PARAMETER__MODIFIER:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ce49301b061e099f37161103060c118473e86f7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PrimitiveDataTypeItemProvider
+	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 PrimitiveDataTypeItemProvider(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);
+
+			addTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_PrimitiveDataType_type_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_PrimitiveDataType_type_feature", "_UI_PrimitiveDataType_type"),
+				 RepositoryPackage.Literals.PRIMITIVE_DATA_TYPE__TYPE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns PrimitiveDataType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/PrimitiveDataType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((PrimitiveDataType)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_PrimitiveDataType_type") :
+			getString("_UI_PrimitiveDataType_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(PrimitiveDataType.class)) {
+			case RepositoryPackage.PRIMITIVE_DATA_TYPE__TYPE:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedDelegationConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedDelegationConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b92aa9b81ea507732d7ef450d1c676b32ea3018a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedDelegationConnectorItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedDelegationConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.ProvidedDelegationConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProvidedDelegationConnectorItemProvider
+	extends DelegationConnectorItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProvidedDelegationConnectorItemProvider(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);
+
+			addInnerProvidedRolePropertyDescriptor(object);
+			addOuterProvidedRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Inner Provided Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInnerProvidedRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ProvidedDelegationConnector_innerProvidedRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidedDelegationConnector_innerProvidedRole_feature", "_UI_ProvidedDelegationConnector_type"),
+				 RepositoryPackage.Literals.PROVIDED_DELEGATION_CONNECTOR__INNER_PROVIDED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Outer Provided Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOuterProvidedRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ProvidedDelegationConnector_outerProvidedRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidedDelegationConnector_outerProvidedRole_feature", "_UI_ProvidedDelegationConnector_type"),
+				 RepositoryPackage.Literals.PROVIDED_DELEGATION_CONNECTOR__OUTER_PROVIDED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ProvidedDelegationConnector.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProvidedDelegationConnector"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ProvidedDelegationConnector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ProvidedDelegationConnector_type") :
+			getString("_UI_ProvidedDelegationConnector_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedRoleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedRoleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..16f9fd446b12eeb425bd3421c6a415ced391df63
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedRoleItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedRole;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.ProvidedRole} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProvidedRoleItemProvider
+	extends RoleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProvidedRoleItemProvider(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);
+
+			addInterfacePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Interface feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterfacePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ProvidedRole_interface_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidedRole_interface_feature", "_UI_ProvidedRole_type"),
+				 RepositoryPackage.Literals.PROVIDED_ROLE__INTERFACE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ProvidedRole.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProvidedRole"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ProvidedRole)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ProvidedRole_type") :
+			getString("_UI_ProvidedRole_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryComponentItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryComponentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..154a87d9d3fd7cba6b7c4a469fa68aaa9a37205a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryComponentItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryComponent;
+
+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.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.applicationlevel.repository.RepositoryComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RepositoryComponentItemProvider
+	extends InterfaceProvidingRequiringEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RepositoryComponentItemProvider(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 returns RepositoryComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RepositoryComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((RepositoryComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_RepositoryComponent_type") :
+			getString("_UI_RepositoryComponent_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a103aaa1669107d2a9389a1aa3737ea5a9acba26
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java
@@ -0,0 +1,215 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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.applicationlevel.repository.Repository} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RepositoryItemProvider
+	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 RepositoryItemProvider(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(RepositoryPackage.Literals.REPOSITORY__IMPORTS);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__DATATYPES);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__INTERFACES);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__COMPONENTS);
+		}
+		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 Repository.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Repository"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Repository)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Repository_type") :
+			getString("_UI_Repository_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(Repository.class)) {
+			case RepositoryPackage.REPOSITORY__IMPORTS:
+			case RepositoryPackage.REPOSITORY__DATATYPES:
+			case RepositoryPackage.REPOSITORY__INTERFACES:
+			case RepositoryPackage.REPOSITORY__COMPONENTS:
+				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
+				(RepositoryPackage.Literals.REPOSITORY__IMPORTS,
+				 RepositoryFactory.eINSTANCE.createImport()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
+				 RepositoryFactory.eINSTANCE.createCollectionDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
+				 RepositoryFactory.eINSTANCE.createCompositeDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
+				 RepositoryFactory.eINSTANCE.createPrimitiveDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__INTERFACES,
+				 RepositoryFactory.eINSTANCE.createInterface()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__COMPONENTS,
+				 RepositoryFactory.eINSTANCE.createBasicComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__COMPONENTS,
+				 RepositoryFactory.eINSTANCE.createCompositeComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__COMPONENTS,
+				 RepositoryFactory.eINSTANCE.createSubSystem()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..5eadb765eec8644dcdc61ad239a60bfa3e428f5b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
@@ -0,0 +1,632 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.util.RepositoryAdapterFactory;
+
+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 RepositoryItemProviderAdapterFactory extends RepositoryAdapterFactory 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 RepositoryItemProviderAdapterFactory() {
+		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.applicationlevel.repository.Import} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ImportItemProvider importItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Import}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createImportAdapter() {
+		if (importItemProvider == null) {
+			importItemProvider = new ImportItemProvider(this);
+		}
+
+		return importItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredRole} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequiredRoleItemProvider requiredRoleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredRole}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRequiredRoleAdapter() {
+		if (requiredRoleItemProvider == null) {
+			requiredRoleItemProvider = new RequiredRoleItemProvider(this);
+		}
+
+		return requiredRoleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedRole} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProvidedRoleItemProvider providedRoleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedRole}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProvidedRoleAdapter() {
+		if (providedRoleItemProvider == null) {
+			providedRoleItemProvider = new ProvidedRoleItemProvider(this);
+		}
+
+		return providedRoleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Interface} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceItemProvider interfaceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Interface}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInterfaceAdapter() {
+		if (interfaceItemProvider == null) {
+			interfaceItemProvider = new InterfaceItemProvider(this);
+		}
+
+		return interfaceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SignatureItemProvider signatureItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSignatureAdapter() {
+		if (signatureItemProvider == null) {
+			signatureItemProvider = new SignatureItemProvider(this);
+		}
+
+		return signatureItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ParameterItemProvider parameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createParameterAdapter() {
+		if (parameterItemProvider == null) {
+			parameterItemProvider = new ParameterItemProvider(this);
+		}
+
+		return parameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RepositoryItemProvider repositoryItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRepositoryAdapter() {
+		if (repositoryItemProvider == null) {
+			repositoryItemProvider = new RepositoryItemProvider(this);
+		}
+
+		return repositoryItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BasicComponentItemProvider basicComponentItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBasicComponentAdapter() {
+		if (basicComponentItemProvider == null) {
+			basicComponentItemProvider = new BasicComponentItemProvider(this);
+		}
+
+		return basicComponentItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SemaphoreItemProvider semaphoreItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSemaphoreAdapter() {
+		if (semaphoreItemProvider == null) {
+			semaphoreItemProvider = new SemaphoreItemProvider(this);
+		}
+
+		return semaphoreItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CompositeComponentItemProvider compositeComponentItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCompositeComponentAdapter() {
+		if (compositeComponentItemProvider == null) {
+			compositeComponentItemProvider = new CompositeComponentItemProvider(this);
+		}
+
+		return compositeComponentItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SubSystemItemProvider subSystemItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSubSystemAdapter() {
+		if (subSystemItemProvider == null) {
+			subSystemItemProvider = new SubSystemItemProvider(this);
+		}
+
+		return subSystemItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CollectionDataTypeItemProvider collectionDataTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCollectionDataTypeAdapter() {
+		if (collectionDataTypeItemProvider == null) {
+			collectionDataTypeItemProvider = new CollectionDataTypeItemProvider(this);
+		}
+
+		return collectionDataTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeDataType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CompositeDataTypeItemProvider compositeDataTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeDataType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCompositeDataTypeAdapter() {
+		if (compositeDataTypeItemProvider == null) {
+			compositeDataTypeItemProvider = new CompositeDataTypeItemProvider(this);
+		}
+
+		return compositeDataTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PrimitiveDataTypeItemProvider primitiveDataTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPrimitiveDataTypeAdapter() {
+		if (primitiveDataTypeItemProvider == null) {
+			primitiveDataTypeItemProvider = new PrimitiveDataTypeItemProvider(this);
+		}
+
+		return primitiveDataTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AssemblyContextItemProvider assemblyContextItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAssemblyContextAdapter() {
+		if (assemblyContextItemProvider == null) {
+			assemblyContextItemProvider = new AssemblyContextItemProvider(this);
+		}
+
+		return assemblyContextItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AssemblyConnectorItemProvider assemblyConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAssemblyConnectorAdapter() {
+		if (assemblyConnectorItemProvider == null) {
+			assemblyConnectorItemProvider = new AssemblyConnectorItemProvider(this);
+		}
+
+		return assemblyConnectorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedDelegationConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProvidedDelegationConnectorItemProvider providedDelegationConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedDelegationConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProvidedDelegationConnectorAdapter() {
+		if (providedDelegationConnectorItemProvider == null) {
+			providedDelegationConnectorItemProvider = new ProvidedDelegationConnectorItemProvider(this);
+		}
+
+		return providedDelegationConnectorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredDelegationConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequiredDelegationConnectorItemProvider requiredDelegationConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredDelegationConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRequiredDelegationConnectorAdapter() {
+		if (requiredDelegationConnectorItemProvider == null) {
+			requiredDelegationConnectorItemProvider = new RequiredDelegationConnectorItemProvider(this);
+		}
+
+		return requiredDelegationConnectorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InnerDeclarationItemProvider innerDeclarationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInnerDeclarationAdapter() {
+		if (innerDeclarationItemProvider == null) {
+			innerDeclarationItemProvider = new InnerDeclarationItemProvider(this);
+		}
+
+		return innerDeclarationItemProvider;
+	}
+
+	/**
+	 * 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 (importItemProvider != null) importItemProvider.dispose();
+		if (requiredRoleItemProvider != null) requiredRoleItemProvider.dispose();
+		if (providedRoleItemProvider != null) providedRoleItemProvider.dispose();
+		if (interfaceItemProvider != null) interfaceItemProvider.dispose();
+		if (signatureItemProvider != null) signatureItemProvider.dispose();
+		if (parameterItemProvider != null) parameterItemProvider.dispose();
+		if (repositoryItemProvider != null) repositoryItemProvider.dispose();
+		if (basicComponentItemProvider != null) basicComponentItemProvider.dispose();
+		if (semaphoreItemProvider != null) semaphoreItemProvider.dispose();
+		if (compositeComponentItemProvider != null) compositeComponentItemProvider.dispose();
+		if (subSystemItemProvider != null) subSystemItemProvider.dispose();
+		if (collectionDataTypeItemProvider != null) collectionDataTypeItemProvider.dispose();
+		if (compositeDataTypeItemProvider != null) compositeDataTypeItemProvider.dispose();
+		if (primitiveDataTypeItemProvider != null) primitiveDataTypeItemProvider.dispose();
+		if (assemblyContextItemProvider != null) assemblyContextItemProvider.dispose();
+		if (assemblyConnectorItemProvider != null) assemblyConnectorItemProvider.dispose();
+		if (providedDelegationConnectorItemProvider != null) providedDelegationConnectorItemProvider.dispose();
+		if (requiredDelegationConnectorItemProvider != null) requiredDelegationConnectorItemProvider.dispose();
+		if (innerDeclarationItemProvider != null) innerDeclarationItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredDelegationConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredDelegationConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b8c1ae3906138074e6779afbaa8cc9fad3cb7d3e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredDelegationConnectorItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredDelegationConnector;
+
+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.applicationlevel.repository.RequiredDelegationConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequiredDelegationConnectorItemProvider
+	extends DelegationConnectorItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequiredDelegationConnectorItemProvider(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);
+
+			addInnerRequiredRolePropertyDescriptor(object);
+			addOuterRequiredRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Inner Required Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInnerRequiredRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RequiredDelegationConnector_innerRequiredRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RequiredDelegationConnector_innerRequiredRole_feature", "_UI_RequiredDelegationConnector_type"),
+				 RepositoryPackage.Literals.REQUIRED_DELEGATION_CONNECTOR__INNER_REQUIRED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Outer Required Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOuterRequiredRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RequiredDelegationConnector_outerRequiredRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RequiredDelegationConnector_outerRequiredRole_feature", "_UI_RequiredDelegationConnector_type"),
+				 RepositoryPackage.Literals.REQUIRED_DELEGATION_CONNECTOR__OUTER_REQUIRED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns RequiredDelegationConnector.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RequiredDelegationConnector"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((RequiredDelegationConnector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_RequiredDelegationConnector_type") :
+			getString("_UI_RequiredDelegationConnector_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredRoleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredRoleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3845e851b9e46361a0edaaf81bfa6f4bd2eeb80f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredRoleItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredRole;
+
+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.applicationlevel.repository.RequiredRole} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequiredRoleItemProvider
+	extends RoleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RequiredRoleItemProvider(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);
+
+			addInterfacePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Interface feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterfacePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RequiredRole_interface_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RequiredRole_interface_feature", "_UI_RequiredRole_type"),
+				 RepositoryPackage.Literals.REQUIRED_ROLE__INTERFACE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns RequiredRole.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RequiredRole"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((RequiredRole)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_RequiredRole_type") :
+			getString("_UI_RequiredRole_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);
+		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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RoleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RoleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..661bb1454c4b3c90a2473e9d205fec9cc0d646ff
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RoleItemProvider.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Role;
+
+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.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.applicationlevel.repository.Role} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RoleItemProvider
+	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 RoleItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Role)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Role_type") :
+			getString("_UI_Role_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SemaphoreItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SemaphoreItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9e15035e741454da837d96a44f52922f541dd67
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SemaphoreItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.AdaptableEntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SemaphoreItemProvider
+	extends AdaptableEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreItemProvider(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);
+
+			addCapacityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Capacity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCapacityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Semaphore_capacity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Semaphore_capacity_feature", "_UI_Semaphore_type"),
+				 RepositoryPackage.Literals.SEMAPHORE__CAPACITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Semaphore.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Semaphore"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Semaphore)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Semaphore_type") :
+			getString("_UI_Semaphore_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(Semaphore.class)) {
+			case RepositoryPackage.SEMAPHORE__CAPACITY:
+				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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SignatureItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SignatureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..48a02bd8c4b6ba2239f1d2ed68250e818e82a752
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SignatureItemProvider.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature;
+
+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.applicationlevel.repository.Signature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SignatureItemProvider
+	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 SignatureItemProvider(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);
+
+			addReturnTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Return Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addReturnTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Signature_returnType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Signature_returnType_feature", "_UI_Signature_type"),
+				 RepositoryPackage.Literals.SIGNATURE__RETURN_TYPE,
+				 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(RepositoryPackage.Literals.SIGNATURE__PARAMETERS);
+		}
+		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 Signature.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Signature"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Signature)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Signature_type") :
+			getString("_UI_Signature_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(Signature.class)) {
+			case RepositoryPackage.SIGNATURE__PARAMETERS:
+				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
+				(RepositoryPackage.Literals.SIGNATURE__PARAMETERS,
+				 RepositoryFactory.eINSTANCE.createParameter()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SubSystemItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SubSystemItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..38684c7603519e27228b3d05e4f8468fcffd2ed9
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SubSystemItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem;
+
+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.applicationlevel.repository.SubSystem} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SubSystemItemProvider
+	extends RepositoryComponentItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SubSystemItemProvider(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(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS);
+		}
+		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 SubSystem.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/SubSystem"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((SubSystem)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_SubSystem_type") :
+			getString("_UI_SubSystem_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(SubSystem.class)) {
+			case RepositoryPackage.SUB_SYSTEM__ASSEMBLY_CONTEXTS:
+			case RepositoryPackage.SUB_SYSTEM__ASSEMBLY_CONNECTORS:
+			case RepositoryPackage.SUB_SYSTEM__PROVIDED_DELEGATION_CONNECTORS:
+			case RepositoryPackage.SUB_SYSTEM__REQUIRED_DELEGATION_CONNECTORS:
+				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
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS,
+				 RepositoryFactory.eINSTANCE.createAssemblyContext()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createAssemblyConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDED_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createProvidedDelegationConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRED_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createRequiredDelegationConnector()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AbstractActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AbstractActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..25a96450046eb224181069f343583e5fd734d320
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AbstractActionItemProvider.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.AbstractAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractActionItemProvider
+	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 AbstractActionItemProvider(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 returns AbstractAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AbstractAction"));
+	}
+
+	/**
+	 * 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_AbstractAction_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AcquireActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AcquireActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1746b8a3294466d442b98c8ef321ef18f34accf3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AcquireActionItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.AcquireAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AcquireActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AcquireActionItemProvider(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);
+
+			addSemaphorePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Semaphore feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSemaphorePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AcquireAction_semaphore_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AcquireAction_semaphore_feature", "_UI_AcquireAction_type"),
+				 ServicebehaviorPackage.Literals.ACQUIRE_ACTION__SEMAPHORE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AcquireAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AcquireAction"));
+	}
+
+	/**
+	 * 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_AcquireAction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BlackBoxBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BlackBoxBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3895a086dc50c77d408a0be7a560cf7808d88ff5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BlackBoxBehaviorItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BlackBoxBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.BlackBoxBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlackBoxBehaviorItemProvider
+	extends ServiceBehaviorAbstractionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BlackBoxBehaviorItemProvider(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);
+
+			addDescribedEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Described Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescribedEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BlackBoxBehavior_describedEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BlackBoxBehavior_describedEntity_feature", "_UI_BlackBoxBehavior_type"),
+				 ServicebehaviorPackage.Literals.BLACK_BOX_BEHAVIOR__DESCRIBED_ENTITY,
+				 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(ServicebehaviorPackage.Literals.BLACK_BOX_BEHAVIOR__RESPONSE_TIME_SPECIFICATION);
+		}
+		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 BlackBoxBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BlackBoxBehavior"));
+	}
+
+	/**
+	 * 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_BlackBoxBehavior_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(BlackBoxBehavior.class)) {
+			case ServicebehaviorPackage.BLACK_BOX_BEHAVIOR__RESPONSE_TIME_SPECIFICATION:
+				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
+				(ServicebehaviorPackage.Literals.BLACK_BOX_BEHAVIOR__RESPONSE_TIME_SPECIFICATION,
+				 ServicebehaviorFactory.eINSTANCE.createResponseTimeSpecification()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f62aef7d8530eb398e34eeeb39bc16e5dd9e3d6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchActionItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.BranchAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BranchActionItemProvider(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(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCHES);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCH_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 BranchAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchAction"));
+	}
+
+	/**
+	 * 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_BranchAction_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(BranchAction.class)) {
+			case ServicebehaviorPackage.BRANCH_ACTION__BRANCHES:
+			case ServicebehaviorPackage.BRANCH_ACTION__BRANCH_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
+				(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCHES,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCH_PROBABILITIES,
+				 ServicebehaviorFactory.eINSTANCE.createBranchProbabilities()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..79f996e5f091747d38e3f59fc7c04f971abcf3d6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java
@@ -0,0 +1,149 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ControlFlowSpecificationItemProvider;
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchProbabilities} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchProbabilitiesItemProvider
+	extends ControlFlowSpecificationItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BranchProbabilitiesItemProvider(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);
+
+			addProbabilitiesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Probabilities feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilitiesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BranchProbabilities_probabilities_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BranchProbabilities_probabilities_feature", "_UI_BranchProbabilities_type"),
+				 ServicebehaviorPackage.Literals.BRANCH_PROBABILITIES__PROBABILITIES,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BranchProbabilities.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchProbabilities"));
+	}
+
+	/**
+	 * 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_BranchProbabilities_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..799ea2a459b5dfa21489730ab08c88010bd14f7e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
@@ -0,0 +1,149 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ControlFlowSpecificationItemProvider;
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallFrequencyItemProvider
+	extends ControlFlowSpecificationItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CallFrequencyItemProvider(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);
+
+			addFrequencyPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Frequency feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFrequencyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallFrequency_frequency_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallFrequency_frequency_feature", "_UI_CallFrequency_type"),
+				 ServicebehaviorPackage.Literals.CALL_FREQUENCY__FREQUENCY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CallFrequency.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CallFrequency"));
+	}
+
+	/**
+	 * 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_CallFrequency_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CoarseGrainedBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CoarseGrainedBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5a3ca04d55812dc20ee2a5557e17d623ca210edc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CoarseGrainedBehaviorItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.CoarseGrainedBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoarseGrainedBehaviorItemProvider
+	extends ServiceBehaviorAbstractionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoarseGrainedBehaviorItemProvider(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);
+
+			addDescribedEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Described Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescribedEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CoarseGrainedBehavior_describedEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CoarseGrainedBehavior_describedEntity_feature", "_UI_CoarseGrainedBehavior_type"),
+				 ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__DESCRIBED_ENTITY,
+				 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(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__EXTERNAL_CALL_FREQUENCY);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__RESOURCE_DEMAND_SPECIFICATION);
+		}
+		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 CoarseGrainedBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CoarseGrainedBehavior"));
+	}
+
+	/**
+	 * 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_CoarseGrainedBehavior_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(CoarseGrainedBehavior.class)) {
+			case ServicebehaviorPackage.COARSE_GRAINED_BEHAVIOR__EXTERNAL_CALL_FREQUENCY:
+			case ServicebehaviorPackage.COARSE_GRAINED_BEHAVIOR__RESOURCE_DEMAND_SPECIFICATION:
+				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
+				(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__EXTERNAL_CALL_FREQUENCY,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCallFrequency()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__RESOURCE_DEMAND_SPECIFICATION,
+				 ServicebehaviorFactory.eINSTANCE.createResourceDemandSpecification()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ComponentInternalBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ComponentInternalBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..693afe430a09794f4b71b2de0d0dbda1a32102cc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ComponentInternalBehaviorItemProvider.java
@@ -0,0 +1,210 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.ComponentInternalBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentInternalBehaviorItemProvider
+	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 ComponentInternalBehaviorItemProvider(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(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_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 ComponentInternalBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentInternalBehavior"));
+	}
+
+	/**
+	 * 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_ComponentInternalBehavior_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(ComponentInternalBehavior.class)) {
+			case ServicebehaviorPackage.COMPONENT_INTERNAL_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
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createStartAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createStopAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createAcquireAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createReleaseAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createInternalAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createForkAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createBranchAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createLoopAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCallAction()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..17b65e3f38b645d8328768758b94fa233801fb2c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
@@ -0,0 +1,155 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.ExternalCallAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalCallActionItemProvider(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);
+
+			addSignaturePropertyDescriptor(object);
+			addRequiredRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_ExternalCall_signature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCall_signature_feature", "_UI_ExternalCall_type"),
+				 ServicebehaviorPackage.Literals.EXTERNAL_CALL__SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Required Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRequiredRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExternalCall_requiredRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCall_requiredRole_feature", "_UI_ExternalCall_type"),
+				 ServicebehaviorPackage.Literals.EXTERNAL_CALL__REQUIRED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExternalCallAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallAction"));
+	}
+
+	/**
+	 * 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_ExternalCallAction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..45be11a42b160765600d70a72aeb39a1e6d754d5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.ExternalCallFrequency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallFrequencyItemProvider
+	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 ExternalCallFrequencyItemProvider(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(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__FREQUENCY);
+		}
+		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 ExternalCallFrequency.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallFrequency"));
+	}
+
+	/**
+	 * 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_ExternalCallFrequency_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(ExternalCallFrequency.class)) {
+			case ServicebehaviorPackage.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL:
+			case ServicebehaviorPackage.EXTERNAL_CALL_FREQUENCY__FREQUENCY:
+				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
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCallAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCall()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__FREQUENCY,
+				 ServicebehaviorFactory.eINSTANCE.createCallFrequency()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..830700608338956fb8bffeb114ca647e8c6cdb1d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCall} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallItemProvider
+	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 ExternalCallItemProvider(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);
+
+			addSignaturePropertyDescriptor(object);
+			addRequiredRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_ExternalCall_signature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCall_signature_feature", "_UI_ExternalCall_type"),
+				 ServicebehaviorPackage.Literals.EXTERNAL_CALL__SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Required Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRequiredRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExternalCall_requiredRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCall_requiredRole_feature", "_UI_ExternalCall_type"),
+				 ServicebehaviorPackage.Literals.EXTERNAL_CALL__REQUIRED_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExternalCall.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCall"));
+	}
+
+	/**
+	 * 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_ExternalCall_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/FineGrainedBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/FineGrainedBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..840560b7e9ec335e83c9135e9436eff92a9062f4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/FineGrainedBehaviorItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.FineGrainedBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.FineGrainedBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FineGrainedBehaviorItemProvider
+	extends ServiceBehaviorAbstractionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FineGrainedBehaviorItemProvider(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);
+
+			addBasicComponentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Basic Component feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBasicComponentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FineGrainedBehavior_basicComponent_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FineGrainedBehavior_basicComponent_feature", "_UI_FineGrainedBehavior_type"),
+				 ServicebehaviorPackage.Literals.FINE_GRAINED_BEHAVIOR__BASIC_COMPONENT,
+				 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(ServicebehaviorPackage.Literals.FINE_GRAINED_BEHAVIOR__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 FineGrainedBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FineGrainedBehavior"));
+	}
+
+	/**
+	 * 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_FineGrainedBehavior_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(FineGrainedBehavior.class)) {
+			case ServicebehaviorPackage.FINE_GRAINED_BEHAVIOR__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
+				(ServicebehaviorPackage.Literals.FINE_GRAINED_BEHAVIOR__BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ForkActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ForkActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..579b4f2bcf02af8ad747a27583036dc4155c422b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ForkActionItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ForkAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ForkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ForkActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ForkActionItemProvider(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);
+
+			addWithSynchronizationBarrierPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the With Synchronization Barrier feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addWithSynchronizationBarrierPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ForkAction_withSynchronizationBarrier_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ForkAction_withSynchronizationBarrier_feature", "_UI_ForkAction_type"),
+				 ServicebehaviorPackage.Literals.FORK_ACTION__WITH_SYNCHRONIZATION_BARRIER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 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(ServicebehaviorPackage.Literals.FORK_ACTION__FORKED_BEHAVIORS);
+		}
+		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 ForkAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ForkAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ForkAction forkAction = (ForkAction)object;
+		return getString("_UI_ForkAction_type") + " " + forkAction.isWithSynchronizationBarrier();
+	}
+
+	/**
+	 * 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(ForkAction.class)) {
+			case ServicebehaviorPackage.FORK_ACTION__WITH_SYNCHRONIZATION_BARRIER:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ServicebehaviorPackage.FORK_ACTION__FORKED_BEHAVIORS:
+				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
+				(ServicebehaviorPackage.Literals.FORK_ACTION__FORKED_BEHAVIORS,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/InternalActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/InternalActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..76db724005c6da90ed94b39cad9ed7a324e31253
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/InternalActionItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.InternalAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.InternalAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InternalActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InternalActionItemProvider(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(ServicebehaviorPackage.Literals.INTERNAL_ACTION__RESOURCE_DEMAND_SPECIFICATION);
+		}
+		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 InternalAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InternalAction"));
+	}
+
+	/**
+	 * 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_InternalAction_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(InternalAction.class)) {
+			case ServicebehaviorPackage.INTERNAL_ACTION__RESOURCE_DEMAND_SPECIFICATION:
+				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
+				(ServicebehaviorPackage.Literals.INTERNAL_ACTION__RESOURCE_DEMAND_SPECIFICATION,
+				 ServicebehaviorFactory.eINSTANCE.createResourceDemandSpecification()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1054f3bb9c2530dddc280b0318c0a8f604f27dce
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.LoopAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LoopActionItemProvider(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(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_BODY_BEHAVIOR);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION);
+		}
+		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 LoopAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopAction"));
+	}
+
+	/**
+	 * 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_LoopAction_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(LoopAction.class)) {
+			case ServicebehaviorPackage.LOOP_ACTION__LOOP_BODY_BEHAVIOR:
+			case ServicebehaviorPackage.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION:
+				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
+				(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_BODY_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION,
+				 ServicebehaviorFactory.eINSTANCE.createLoopIterationCountDistribution()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountDistributionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountDistributionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..723441286f1565b6c968630fb0d879526aec1efe
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountDistributionItemProvider.java
@@ -0,0 +1,149 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ControlFlowSpecificationItemProvider;
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopIterationCountDistributionItemProvider
+	extends ControlFlowSpecificationItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LoopIterationCountDistributionItemProvider(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_LoopIterationCountDistribution_loopIterationCountDistribution_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_LoopIterationCountDistribution_loopIterationCountDistribution_feature", "_UI_LoopIterationCountDistribution_type"),
+				 ServicebehaviorPackage.Literals.LOOP_ITERATION_COUNT_DISTRIBUTION__LOOP_ITERATION_COUNT_DISTRIBUTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns LoopIterationCountDistribution.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopIterationCountDistribution"));
+	}
+
+	/**
+	 * 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_LoopIterationCountDistribution_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ReleaseActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ReleaseActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae82ecb7599740ea43dfe2d1aaf3e68351f69261
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ReleaseActionItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.applicationlevel.servicebehavior.ReleaseAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReleaseActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReleaseActionItemProvider(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);
+
+			addSemaphorePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Semaphore feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSemaphorePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ReleaseAction_semaphore_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ReleaseAction_semaphore_feature", "_UI_ReleaseAction_type"),
+				 ServicebehaviorPackage.Literals.RELEASE_ACTION__SEMAPHORE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ReleaseAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ReleaseAction"));
+	}
+
+	/**
+	 * 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_ReleaseAction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ecc274a18ef3ed69b7db81fcd7fad15b0aacbc05
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandSpecificationItemProvider.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ModelVariableItemProvider;
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.servicebehavior.ResourceDemandSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResourceDemandSpecificationItemProvider
+	extends ModelVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ResourceDemandSpecificationItemProvider(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 returns ResourceDemandSpecification.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ResourceDemandSpecification"));
+	}
+
+	/**
+	 * 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_ResourceDemandSpecification_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..89f48e486db27dcaf43b2a7b812bc1b7be4019af
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeSpecificationItemProvider.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ModelVariableItemProvider;
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.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.applicationlevel.servicebehavior.ResponseTimeSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResponseTimeSpecificationItemProvider
+	extends ModelVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ResponseTimeSpecificationItemProvider(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 returns ResponseTimeSpecification.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ResponseTimeSpecification"));
+	}
+
+	/**
+	 * 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_ResponseTimeSpecification_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..81c40bcda45b79dd7126cd10c2ca799661975ede
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java
@@ -0,0 +1,222 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServiceBehaviorAbstraction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServiceBehaviorAbstraction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServiceBehaviorAbstractionItemProvider
+	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 ServiceBehaviorAbstractionItemProvider(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);
+
+			addDescribedSignaturePropertyDescriptor(object);
+			addProvidedRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Described Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescribedSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ServiceBehaviorAbstraction_describedSignature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceBehaviorAbstraction_describedSignature_feature", "_UI_ServiceBehaviorAbstraction_type"),
+				 ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__DESCRIBED_SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Provided Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidedRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ServiceBehaviorAbstraction_providedRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceBehaviorAbstraction_providedRole_feature", "_UI_ServiceBehaviorAbstraction_type"),
+				 ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__PROVIDED_ROLE,
+				 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(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER);
+		}
+		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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ServiceBehaviorAbstraction_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(ServiceBehaviorAbstraction.class)) {
+			case ServicebehaviorPackage.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER:
+				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
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createInfluencingParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createServiceInputParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createExternalCallReturnParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createExternalCallParameter()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..86129a4c590c6e8dfc415355668f11079e81e47e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
@@ -0,0 +1,656 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.util.ServicebehaviorAdapterFactory;
+
+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 ServicebehaviorItemProviderAdapterFactory extends ServicebehaviorAdapterFactory 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 ServicebehaviorItemProviderAdapterFactory() {
+		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.applicationlevel.servicebehavior.FineGrainedBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FineGrainedBehaviorItemProvider fineGrainedBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.FineGrainedBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFineGrainedBehaviorAdapter() {
+		if (fineGrainedBehaviorItemProvider == null) {
+			fineGrainedBehaviorItemProvider = new FineGrainedBehaviorItemProvider(this);
+		}
+
+		return fineGrainedBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentInternalBehaviorItemProvider componentInternalBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createComponentInternalBehaviorAdapter() {
+		if (componentInternalBehaviorItemProvider == null) {
+			componentInternalBehaviorItemProvider = new ComponentInternalBehaviorItemProvider(this);
+		}
+
+		return componentInternalBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.StartAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StartActionItemProvider startActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.StartAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createStartActionAdapter() {
+		if (startActionItemProvider == null) {
+			startActionItemProvider = new StartActionItemProvider(this);
+		}
+
+		return startActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.StopAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StopActionItemProvider stopActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.StopAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createStopActionAdapter() {
+		if (stopActionItemProvider == null) {
+			stopActionItemProvider = new StopActionItemProvider(this);
+		}
+
+		return stopActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.AcquireAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AcquireActionItemProvider acquireActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.AcquireAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAcquireActionAdapter() {
+		if (acquireActionItemProvider == null) {
+			acquireActionItemProvider = new AcquireActionItemProvider(this);
+		}
+
+		return acquireActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ReleaseAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReleaseActionItemProvider releaseActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ReleaseAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createReleaseActionAdapter() {
+		if (releaseActionItemProvider == null) {
+			releaseActionItemProvider = new ReleaseActionItemProvider(this);
+		}
+
+		return releaseActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.InternalAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InternalActionItemProvider internalActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.InternalAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInternalActionAdapter() {
+		if (internalActionItemProvider == null) {
+			internalActionItemProvider = new InternalActionItemProvider(this);
+		}
+
+		return internalActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ForkAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ForkActionItemProvider forkActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ForkAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createForkActionAdapter() {
+		if (forkActionItemProvider == null) {
+			forkActionItemProvider = new ForkActionItemProvider(this);
+		}
+
+		return forkActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BranchActionItemProvider branchActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBranchActionAdapter() {
+		if (branchActionItemProvider == null) {
+			branchActionItemProvider = new BranchActionItemProvider(this);
+		}
+
+		return branchActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchProbabilities} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BranchProbabilitiesItemProvider branchProbabilitiesItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchProbabilities}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBranchProbabilitiesAdapter() {
+		if (branchProbabilitiesItemProvider == null) {
+			branchProbabilitiesItemProvider = new BranchProbabilitiesItemProvider(this);
+		}
+
+		return branchProbabilitiesItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LoopActionItemProvider loopActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createLoopActionAdapter() {
+		if (loopActionItemProvider == null) {
+			loopActionItemProvider = new LoopActionItemProvider(this);
+		}
+
+		return loopActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LoopIterationCountDistributionItemProvider loopIterationCountDistributionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createLoopIterationCountDistributionAdapter() {
+		if (loopIterationCountDistributionItemProvider == null) {
+			loopIterationCountDistributionItemProvider = new LoopIterationCountDistributionItemProvider(this);
+		}
+
+		return loopIterationCountDistributionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallActionItemProvider externalCallActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallActionAdapter() {
+		if (externalCallActionItemProvider == null) {
+			externalCallActionItemProvider = new ExternalCallActionItemProvider(this);
+		}
+
+		return externalCallActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCall} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallItemProvider externalCallItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCall}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallAdapter() {
+		if (externalCallItemProvider == null) {
+			externalCallItemProvider = new ExternalCallItemProvider(this);
+		}
+
+		return externalCallItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemandSpecification} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ResourceDemandSpecificationItemProvider resourceDemandSpecificationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemandSpecification}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createResourceDemandSpecificationAdapter() {
+		if (resourceDemandSpecificationItemProvider == null) {
+			resourceDemandSpecificationItemProvider = new ResourceDemandSpecificationItemProvider(this);
+		}
+
+		return resourceDemandSpecificationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CoarseGrainedBehaviorItemProvider coarseGrainedBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCoarseGrainedBehaviorAdapter() {
+		if (coarseGrainedBehaviorItemProvider == null) {
+			coarseGrainedBehaviorItemProvider = new CoarseGrainedBehaviorItemProvider(this);
+		}
+
+		return coarseGrainedBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallFrequencyItemProvider externalCallFrequencyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallFrequencyAdapter() {
+		if (externalCallFrequencyItemProvider == null) {
+			externalCallFrequencyItemProvider = new ExternalCallFrequencyItemProvider(this);
+		}
+
+		return externalCallFrequencyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CallFrequencyItemProvider callFrequencyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCallFrequencyAdapter() {
+		if (callFrequencyItemProvider == null) {
+			callFrequencyItemProvider = new CallFrequencyItemProvider(this);
+		}
+
+		return callFrequencyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BlackBoxBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BlackBoxBehaviorItemProvider blackBoxBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BlackBoxBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBlackBoxBehaviorAdapter() {
+		if (blackBoxBehaviorItemProvider == null) {
+			blackBoxBehaviorItemProvider = new BlackBoxBehaviorItemProvider(this);
+		}
+
+		return blackBoxBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTimeSpecification} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ResponseTimeSpecificationItemProvider responseTimeSpecificationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTimeSpecification}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createResponseTimeSpecificationAdapter() {
+		if (responseTimeSpecificationItemProvider == null) {
+			responseTimeSpecificationItemProvider = new ResponseTimeSpecificationItemProvider(this);
+		}
+
+		return responseTimeSpecificationItemProvider;
+	}
+
+	/**
+	 * 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 (fineGrainedBehaviorItemProvider != null) fineGrainedBehaviorItemProvider.dispose();
+		if (componentInternalBehaviorItemProvider != null) componentInternalBehaviorItemProvider.dispose();
+		if (startActionItemProvider != null) startActionItemProvider.dispose();
+		if (stopActionItemProvider != null) stopActionItemProvider.dispose();
+		if (acquireActionItemProvider != null) acquireActionItemProvider.dispose();
+		if (releaseActionItemProvider != null) releaseActionItemProvider.dispose();
+		if (internalActionItemProvider != null) internalActionItemProvider.dispose();
+		if (forkActionItemProvider != null) forkActionItemProvider.dispose();
+		if (branchActionItemProvider != null) branchActionItemProvider.dispose();
+		if (branchProbabilitiesItemProvider != null) branchProbabilitiesItemProvider.dispose();
+		if (loopActionItemProvider != null) loopActionItemProvider.dispose();
+		if (loopIterationCountDistributionItemProvider != null) loopIterationCountDistributionItemProvider.dispose();
+		if (externalCallActionItemProvider != null) externalCallActionItemProvider.dispose();
+		if (externalCallItemProvider != null) externalCallItemProvider.dispose();
+		if (resourceDemandSpecificationItemProvider != null) resourceDemandSpecificationItemProvider.dispose();
+		if (coarseGrainedBehaviorItemProvider != null) coarseGrainedBehaviorItemProvider.dispose();
+		if (externalCallFrequencyItemProvider != null) externalCallFrequencyItemProvider.dispose();
+		if (callFrequencyItemProvider != null) callFrequencyItemProvider.dispose();
+		if (blackBoxBehaviorItemProvider != null) blackBoxBehaviorItemProvider.dispose();
+		if (responseTimeSpecificationItemProvider != null) responseTimeSpecificationItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StartActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StartActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..18c17785ff1a81bb258f1bfbdedf81bf77c4626c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StartActionItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+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.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.applicationlevel.servicebehavior.StartAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StartActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StartActionItemProvider(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 returns StartAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/StartAction"));
+	}
+
+	/**
+	 * 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_StartAction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StopActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StopActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b31ea7086a9915353e12f91022eb199137b1db10
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StopActionItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+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.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.applicationlevel.servicebehavior.StopAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StopActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StopActionItemProvider(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 returns StopAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/StopAction"));
+	}
+
+	/**
+	 * 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_StopAction_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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a4d4a47e98d6143138e06ad575e34f9b3f3e4f3d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProvider.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.system.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.provider.ComposedProvidingRequiringEntityItemProvider;
+
+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.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.applicationlevel.system.System} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SystemItemProvider
+	extends ComposedProvidingRequiringEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SystemItemProvider(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 returns System.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/System"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((edu.kit.ipd.descartes.mm.applicationlevel.system.System)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_System_type") :
+			getString("_UI_System_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca665f3931067005857050eae55e369ca2dce7fe
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProviderAdapterFactory.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.system.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.system.util.SystemAdapterFactory;
+
+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 SystemItemProviderAdapterFactory extends SystemAdapterFactory 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 SystemItemProviderAdapterFactory() {
+		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.applicationlevel.system.System} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SystemItemProvider systemItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.system.System}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSystemAdapter() {
+		if (systemItemProvider == null) {
+			systemItemProvider = new SystemItemProvider(this);
+		}
+
+		return systemItemProvider;
+	}
+
+	/**
+	 * 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 (systemItemProvider != null) systemItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/.classpath b/edu.kit.ipd.descartes.mm.deployment.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/.project b/edu.kit.ipd.descartes.mm.deployment.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..a7cb2c010b875292cf2852109ccff4b21ad34b41
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.deployment.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.deployment.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..84960ff8bbc8e017ccbefb00e1d25ffd37665259
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.deployment.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.mm.deployment.provider.DeploymentEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.mm.deployment.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.mm.deployment;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.applicationlevel;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.applicationlevel.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcepoolconfig;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcepoolconfig.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/build.properties b/edu.kit.ipd.descartes.mm.deployment.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/ctool16/CreateDeployment_deploymentContexts_DeploymentContext.gif b/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/ctool16/CreateDeployment_deploymentContexts_DeploymentContext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d6e42e4548dd882b82535ee0b1a8a743697dfca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/ctool16/CreateDeployment_deploymentContexts_DeploymentContext.gif differ
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/obj16/Deployment.gif b/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/obj16/Deployment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/obj16/Deployment.gif differ
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/obj16/DeploymentContext.gif b/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/obj16/DeploymentContext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a9bc7514facefe049e8f5d98bb2e1e37f03c0c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.deployment.edit/icons/full/obj16/DeploymentContext.gif differ
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/plugin.properties b/edu.kit.ipd.descartes.mm.deployment.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f03a0c3a7856c6ea67f57242a1cf29e6f5bb8004
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/plugin.properties
@@ -0,0 +1,28 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Deployment Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Deployment_type = Deployment
+_UI_DeploymentContext_type = Context
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Deployment_system_feature = System
+_UI_Deployment_targetResourceLandscape_feature = Target Resource Landscape
+_UI_Deployment_deploymentContexts_feature = Deployment Contexts
+_UI_DeploymentContext_deployment_feature = Deployment
+_UI_DeploymentContext_assemblyContext_feature = Assembly Context
+_UI_DeploymentContext_resourceContainer_feature = Resource Container
+_UI_Unknown_feature = Unspecified
+
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/plugin.xml b/edu.kit.ipd.descartes.mm.deployment.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..777c3fe4dadfb85bbedc0baa785d158d02f39e52
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/deployment/0.1"
+            class="edu.kit.ipd.descartes.mm.deployment.provider.DeploymentItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentContextItemProvider.java b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentContextItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4530b6637b932b7914f8ce50181c7c053bcef014
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentContextItemProvider.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.deployment.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.deployment.DeploymentContext;
+import edu.kit.ipd.descartes.mm.deployment.DeploymentPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.deployment.DeploymentContext} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentContextItemProvider
+	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 DeploymentContextItemProvider(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);
+
+			addAssemblyContextPropertyDescriptor(object);
+			addResourceContainerPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DeploymentContext_assemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DeploymentContext_assemblyContext_feature", "_UI_DeploymentContext_type"),
+				 DeploymentPackage.Literals.DEPLOYMENT_CONTEXT__ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Resource Container feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResourceContainerPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DeploymentContext_resourceContainer_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DeploymentContext_resourceContainer_feature", "_UI_DeploymentContext_type"),
+				 DeploymentPackage.Literals.DEPLOYMENT_CONTEXT__RESOURCE_CONTAINER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DeploymentContext.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DeploymentContext"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((DeploymentContext)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DeploymentContext_type") :
+			getString("_UI_DeploymentContext_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);
+		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 DeploymentEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentEditPlugin.java b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8e68aa1043fd3064031803d2c6221df6a171d30
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentEditPlugin.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.deployment.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 edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+import edu.kit.ipd.descartes.mm.resourcepoolconfig.provider.ResourcepoolconfigEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Deployment edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class DeploymentEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final DeploymentEditPlugin INSTANCE = new DeploymentEditPlugin();
+
+	/**
+	 * 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 DeploymentEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     ApplicationlevelEditPlugin.INSTANCE,
+		     CoreEditPlugin.INSTANCE,
+		     IdentifierEditPlugin.INSTANCE,
+		     ResourcelandscapeEditPlugin.INSTANCE,
+		     ResourcepoolconfigEditPlugin.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.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentItemProvider.java b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1488450b205f30707da976e42d047f10379eaa08
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentItemProvider.java
@@ -0,0 +1,219 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.deployment.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.deployment.Deployment;
+import edu.kit.ipd.descartes.mm.deployment.DeploymentFactory;
+import edu.kit.ipd.descartes.mm.deployment.DeploymentPackage;
+
+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.deployment.Deployment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeploymentItemProvider
+	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 DeploymentItemProvider(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);
+			addTargetResourceLandscapePropertyDescriptor(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_Deployment_system_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Deployment_system_feature", "_UI_Deployment_type"),
+				 DeploymentPackage.Literals.DEPLOYMENT__SYSTEM,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Target Resource Landscape feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTargetResourceLandscapePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Deployment_targetResourceLandscape_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Deployment_targetResourceLandscape_feature", "_UI_Deployment_type"),
+				 DeploymentPackage.Literals.DEPLOYMENT__TARGET_RESOURCE_LANDSCAPE,
+				 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(DeploymentPackage.Literals.DEPLOYMENT__DEPLOYMENT_CONTEXTS);
+		}
+		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 Deployment.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Deployment"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Deployment)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Deployment_type") :
+			getString("_UI_Deployment_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(Deployment.class)) {
+			case DeploymentPackage.DEPLOYMENT__DEPLOYMENT_CONTEXTS:
+				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
+				(DeploymentPackage.Literals.DEPLOYMENT__DEPLOYMENT_CONTEXTS,
+				 DeploymentFactory.eINSTANCE.createDeploymentContext()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return DeploymentEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..b03790e74ec53e5594f670570697e7d8d23b0ddf
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.deployment.edit/src/edu/kit/ipd/descartes/mm/deployment/provider/DeploymentItemProviderAdapterFactory.java
@@ -0,0 +1,224 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.deployment.provider;
+
+import edu.kit.ipd.descartes.mm.deployment.util.DeploymentAdapterFactory;
+
+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 DeploymentItemProviderAdapterFactory extends DeploymentAdapterFactory 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 DeploymentItemProviderAdapterFactory() {
+		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.deployment.Deployment} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeploymentItemProvider deploymentItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.deployment.Deployment}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDeploymentAdapter() {
+		if (deploymentItemProvider == null) {
+			deploymentItemProvider = new DeploymentItemProvider(this);
+		}
+
+		return deploymentItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.deployment.DeploymentContext} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeploymentContextItemProvider deploymentContextItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.deployment.DeploymentContext}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDeploymentContextAdapter() {
+		if (deploymentContextItemProvider == null) {
+			deploymentContextItemProvider = new DeploymentContextItemProvider(this);
+		}
+
+		return deploymentContextItemProvider;
+	}
+
+	/**
+	 * 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 (deploymentItemProvider != null) deploymentItemProvider.dispose();
+		if (deploymentContextItemProvider != null) deploymentContextItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/.classpath b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/.project b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..0b5b48c57a7c00da4a59e5273da2108e3cb39a50
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.resourcelandscape.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..c82bc3de11d74837205a6adec5c58a91841ff77e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.resourcelandscape.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.mm.containerrepository.provider,
+ edu.kit.ipd.descartes.mm.resourceconfiguration.provider,
+ edu.kit.ipd.descartes.mm.resourcelandscape.provider,
+ edu.kit.ipd.descartes.mm.resourcetype.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.mm.resourcelandscape;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/build.properties b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateActiveResourceSpecification_linkingResources_LinkingResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateActiveResourceSpecification_linkingResources_LinkingResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6a6170e0da3df46b694951c50040942eb893f9dc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateActiveResourceSpecification_linkingResources_LinkingResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateActiveResourceSpecification_processingResourceSpecifications_ProcessingResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateActiveResourceSpecification_processingResourceSpecifications_ProcessingResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0dccd278a641469597ed65c547c9adb34f01fd1a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateActiveResourceSpecification_processingResourceSpecifications_ProcessingResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_CompositeHardwareInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_CompositeHardwareInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a47b32b7d9b44ea2d815901ae43becbeeedfca1e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_CompositeHardwareInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_ComputingInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_ComputingInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..970be05e66e8b9636471d3899a1b011e50df2011
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_ComputingInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_NetworkingInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_NetworkingInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..88150e61379533ae117964afc9a5c0dfc09d3670
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_NetworkingInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_StorageInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_StorageInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b41595970d5e745969978a2f93c4135768d101cb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateCompositeHardwareInfrastructure_contains_StorageInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerRepository_templates_ContainerTemplate.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerRepository_templates_ContainerTemplate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..23bed02a9a48a1ba19bb37ad7d17735036f2444b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerRepository_templates_ContainerTemplate.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_ActiveResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_ActiveResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0e50474667d30c397798304802394a7fe89883b2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_ActiveResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_CustomConfigurationSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_CustomConfigurationSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..281b5cfae116c915c886ad33ea2c472092ea1dbe
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_CustomConfigurationSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_PassiveResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_PassiveResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3ede289a77ed9c1c6dcb44960c17b09e08ceaa81
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_PassiveResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_ResourcePoolConfiguration.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_ResourcePoolConfiguration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3d1deee6934348e3785d9fdfdf0d63111696a8c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainerTemplate_templateConfig_ResourcePoolConfiguration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_ActiveResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_ActiveResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a57671831e45a1a8ca3240adbc3c4752ac221f14
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_ActiveResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_CustomConfigurationSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_CustomConfigurationSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f61f1983011465fb694356efbdca7452b94f81ce
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_CustomConfigurationSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_PassiveResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_PassiveResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0289a2ad631d700d3f11b3c4abc39ea915a34ef8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_PassiveResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_ResourcePoolConfiguration.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_ResourcePoolConfiguration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..51394a3580c3e1cb2fa05f7c231e64e888736e87
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_configSpec_ResourcePoolConfiguration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_contains_RuntimeEnvironment.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_contains_RuntimeEnvironment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bd2a29ab6f1c79d7d460bd7181ff2ef6f96feb91
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateContainer_contains_RuntimeEnvironment.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_CompositeHardwareInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_CompositeHardwareInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e2efc630b973c06f0fbcd03b3da861fe87e2f175
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_CompositeHardwareInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_ComputingInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_ComputingInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b89aadc0cde78d24f1477658f874a52b0703fbc5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_ComputingInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_NetworkingInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_NetworkingInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..36bc72b827c8389d2c46ed7febfb8165c8e8bcb7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_NetworkingInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_StorageInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_StorageInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f075771bb8f63e0bf102c50c229bcb01cb3b5129
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDataCenter_contains_StorageInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDistributedDataCenter_consistsOf_DataCenter.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDistributedDataCenter_consistsOf_DataCenter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3a4e9adb3ba98f6a7091ae75fe2c4250d5e496f6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateDistributedDataCenter_consistsOf_DataCenter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreatePassiveResourceSpecification_capacity_PassiveResourceCapacity.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreatePassiveResourceSpecification_capacity_PassiveResourceCapacity.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7a5b36204c5fbbd79eb11cbf23000acdab8a9688
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreatePassiveResourceSpecification_capacity_PassiveResourceCapacity.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateProcessingResourceSpecification_nrOfParProcUnits_NumberOfParallelProcessingUnits.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateProcessingResourceSpecification_nrOfParProcUnits_NumberOfParallelProcessingUnits.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c51ddff895148855cb0c606840648cb601980b0d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateProcessingResourceSpecification_nrOfParProcUnits_NumberOfParallelProcessingUnits.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_CommunicationLinkResourceType.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_CommunicationLinkResourceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8a87700f4c7cdeae66d88a9f69e203fe883a50f7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_CommunicationLinkResourceType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_PassiveResourceType.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_PassiveResourceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1bf6bbe1059a1bf35a4fda0b73d8437f6ba48e15
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_PassiveResourceType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_ProcessingResourceType.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_ProcessingResourceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed645c34d5ac3d9bc121bc405626255ddec2f20d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/ctool16/CreateResourceTypeRepository_resourceTypes_ProcessingResourceType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ActiveResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ActiveResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a9bc7514facefe049e8f5d98bb2e1e37f03c0c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ActiveResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CommunicationLinkResourceType.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CommunicationLinkResourceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4bc22dd17e82d9350631bd55ad9671957cdaf50
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CommunicationLinkResourceType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CompositeHardwareInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CompositeHardwareInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33854e98c25a13543eb9477dc67b0baf87fc81aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CompositeHardwareInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ComputingInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ComputingInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ComputingInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ContainerRepository.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ContainerRepository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ContainerRepository.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ContainerTemplate.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ContainerTemplate.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ContainerTemplate.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CustomConfigurationSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CustomConfigurationSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/CustomConfigurationSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/DataCenter.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/DataCenter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53500daf98e17bc98acd04b14eb7b16938ceb4dd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/DataCenter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/DistributedDataCenter.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/DistributedDataCenter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/DistributedDataCenter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/LinkingResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/LinkingResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4fb30e96873d2484faec9d508dcbdd69e73d82e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/LinkingResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/NetworkingInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/NetworkingInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33a997a1606acf7cb8a32921faeee1e5c809a0cb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/NetworkingInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/NumberOfParallelProcessingUnits.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/NumberOfParallelProcessingUnits.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c673a5200a53ebd68c78c5cdb9d1bd4eaa855afb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/NumberOfParallelProcessingUnits.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceCapacity.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceCapacity.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f8041d22553d3f326e3e82be501f2e9bac3794b0
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceCapacity.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c673a5200a53ebd68c78c5cdb9d1bd4eaa855afb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceType.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7c2aaac84ee6ea15757df499505e9aa0de4288f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/PassiveResourceType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ProcessingResourceSpecification.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ProcessingResourceSpecification.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ProcessingResourceSpecification.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ProcessingResourceType.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ProcessingResourceType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5915591825a5301b9f9a3d398baea497ef02311d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ProcessingResourceType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ResourcePoolConfiguration.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ResourcePoolConfiguration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4b530eca173b1070d5d876a0154bc370d8896b4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ResourcePoolConfiguration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ResourceTypeRepository.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ResourceTypeRepository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/ResourceTypeRepository.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/RuntimeEnvironment.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/RuntimeEnvironment.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/RuntimeEnvironment.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/StorageInfrastructure.gif b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/StorageInfrastructure.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c00aedf4135a384d1a98a5344c27454f488cbe42
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/icons/full/obj16/StorageInfrastructure.gif differ
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/plugin.properties b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d20bcbfe77082390b6370620ed7b2a530c6647f9
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/plugin.properties
@@ -0,0 +1,89 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Resourcelandscape Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_ComputingInfrastructure_type = Computing Infrastructure
+_UI_NetworkingInfrastructure_type = Networking Infrastructure
+_UI_StorageInfrastructure_type = Storage Infrastructure
+_UI_Container_type = Container
+_UI_RuntimeEnvironment_type = Runtime Environment
+_UI_DataCenter_type = Data Center
+_UI_DistributedDataCenter_type = Distributed Data Center
+_UI_CompositeHardwareInfrastructure_type = Composite Hardware Infrastructure
+_UI_AbstractHardwareInfrastructure_type = Abstract Hardware Infrastructure
+_UI_ConfigurationSpecification_type = Configuration Specification
+_UI_ProcessingResourceSpecification_type = Processing Resource Specification
+_UI_NumberOfParallelProcessingUnits_type = Number Of Parallel Processing Units
+_UI_LinkingResourceSpecification_type = Linking Resource Specification
+_UI_ActiveResourceSpecification_type = Active Resource Specification
+_UI_CustomConfigurationSpecification_type = Custom Configuration Specification
+_UI_PassiveResourceSpecification_type = Passive Resource Specification
+_UI_PassiveResourceCapacity_type = Passive Resource Capacity
+_UI_ContainerRepository_type = Container Repository
+_UI_ContainerTemplate_type = Container Template
+_UI_ResourceTypeRepository_type = Resource Type Repository
+_UI_ResourceType_type = Resource Type
+_UI_ProcessingResourceType_type = Processing Resource Type
+_UI_CommunicationLinkResourceType_type = Communication Link Resource Type
+_UI_PassiveResourceType_type = Passive Resource Type
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Container_contains_feature = Contains
+_UI_Container_configSpec_feature = Config Spec
+_UI_Container_template_feature = Template
+_UI_RuntimeEnvironment_containedIn_feature = Contained In
+_UI_RuntimeEnvironment_ofClass_feature = Of Class
+_UI_DataCenter_belongsTo_feature = Belongs To
+_UI_DataCenter_contains_feature = Contains
+_UI_DistributedDataCenter_consistsOf_feature = Consists Of
+_UI_CompositeHardwareInfrastructure_contains_feature = Contains
+_UI_AbstractHardwareInfrastructure_partOf_feature = Part Of
+_UI_ProcessingResourceSpecification_schedulingPolicy_feature = Scheduling Policy
+_UI_ProcessingResourceSpecification_processingRate_feature = Processing Rate
+_UI_ProcessingResourceSpecification_activeResourceType_feature = Active Resource Type
+_UI_ProcessingResourceSpecification_parentResourceSpecification_feature = Parent Resource Specification
+_UI_ProcessingResourceSpecification_nrOfParProcUnits_feature = Nr Of Par Proc Units
+_UI_NumberOfParallelProcessingUnits_number_feature = Number
+_UI_NumberOfParallelProcessingUnits_processingResourceSpec_feature = Processing Resource Spec
+_UI_LinkingResourceSpecification_connectedResourceSpecifications_feature = Connected Resource Specifications
+_UI_LinkingResourceSpecification_parentResourceConfiguration_feature = Parent Resource Configuration
+_UI_LinkingResourceSpecification_bandwidth_feature = Bandwidth
+_UI_LinkingResourceSpecification_communicationLinkResourceType_feature = Communication Link Resource Type
+_UI_ActiveResourceSpecification_processingResourceSpecifications_feature = Processing Resource Specifications
+_UI_ActiveResourceSpecification_linkingResources_feature = Linking Resources
+_UI_CustomConfigurationSpecification_nonFunctionalProperties_feature = Non Functional Properties
+_UI_PassiveResourceSpecification_capacity_feature = Capacity
+_UI_PassiveResourceSpecification_passiveResourceType_feature = Passive Resource Type
+_UI_PassiveResourceCapacity_capacity_feature = Capacity
+_UI_ContainerRepository_templates_feature = Templates
+_UI_ContainerTemplate_templateConfig_feature = Template Config
+_UI_ResourceTypeRepository_resourceTypes_feature = Resource Types
+_UI_ResourceType_parentResourceRepository_feature = Parent Resource Repository
+_UI_Unknown_feature = Unspecified
+
+_UI_SchedulingPolicy_DELAY_literal = DELAY
+_UI_SchedulingPolicy_FCFS_literal = FCFS
+_UI_SchedulingPolicy_PROCESSOR_SHARING_literal = PROCESSOR_SHARING
+_UI_SchedulingPolicy_RANDOM_literal = RANDOM
+_UI_SchedulingPolicy_NA_literal = NA
+_UI_RuntimeEnvironmentClasses_HYPERVISOR_literal = HYPERVISOR
+_UI_RuntimeEnvironmentClasses_OPERATING_SYSTEM_literal = OPERATING SYSTEM
+_UI_RuntimeEnvironmentClasses_OS_VM_literal = OS VM
+_UI_RuntimeEnvironmentClasses_PROCESS_VM_literal = PROCESS VM
+_UI_RuntimeEnvironmentClasses_MIDDLEWARE_literal = MIDDLEWARE
+_UI_RuntimeEnvironmentClasses_OTHER_literal = OTHER
+_UI_ContainerTemplate_referringContainers_feature = Referring Containers
+_UI_ResourcePoolConfiguration_type = Resource Pool Configuration
+_UI_ResourcePoolConfiguration_resourcePoolConfig_feature = Resource Pool Config
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/plugin.xml b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4523ae0015b38ff9bc4510bf4889ef6259b64bbd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/plugin.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/resourcelandscape/0.1"
+            class="edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1"
+            class="edu.kit.ipd.descartes.mm.resourceconfiguration.provider.ResourceconfigurationItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/containerrepository/0.1"
+            class="edu.kit.ipd.descartes.mm.containerrepository.provider.ContainerrepositoryItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/resourcetype/0.1"
+            class="edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerRepositoryItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerRepositoryItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9258a8df6b0f1ea8a78a20b607715d14d09e403
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerRepositoryItemProvider.java
@@ -0,0 +1,174 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.containerrepository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.containerrepository.ContainerRepository;
+import edu.kit.ipd.descartes.mm.containerrepository.ContainerrepositoryFactory;
+import edu.kit.ipd.descartes.mm.containerrepository.ContainerrepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.containerrepository.ContainerRepository} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContainerRepositoryItemProvider
+	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 ContainerRepositoryItemProvider(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(ContainerrepositoryPackage.Literals.CONTAINER_REPOSITORY__TEMPLATES);
+        }
+        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 ContainerRepository.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ContainerRepository"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ContainerRepository)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ContainerRepository_type") :
+            getString("_UI_ContainerRepository_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(ContainerRepository.class)) {
+            case ContainerrepositoryPackage.CONTAINER_REPOSITORY__TEMPLATES:
+                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
+                (ContainerrepositoryPackage.Literals.CONTAINER_REPOSITORY__TEMPLATES,
+                 ContainerrepositoryFactory.eINSTANCE.createContainerTemplate()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerTemplateItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerTemplateItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6621245b75964162e4d80fa69072faa61babd97f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerTemplateItemProvider.java
@@ -0,0 +1,209 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.containerrepository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.containerrepository.ContainerTemplate;
+import edu.kit.ipd.descartes.mm.containerrepository.ContainerrepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationFactory;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.containerrepository.ContainerTemplate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContainerTemplateItemProvider
+	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 ContainerTemplateItemProvider(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);
+
+            addReferringContainersPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Referring Containers feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addReferringContainersPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ContainerTemplate_referringContainers_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ContainerTemplate_referringContainers_feature", "_UI_ContainerTemplate_type"),
+                 ContainerrepositoryPackage.Literals.CONTAINER_TEMPLATE__REFERRING_CONTAINERS,
+                 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(ContainerrepositoryPackage.Literals.CONTAINER_TEMPLATE__TEMPLATE_CONFIG);
+        }
+        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 ContainerTemplate.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ContainerTemplate"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ContainerTemplate)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ContainerTemplate_type") :
+            getString("_UI_ContainerTemplate_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(ContainerTemplate.class)) {
+            case ContainerrepositoryPackage.CONTAINER_TEMPLATE__TEMPLATE_CONFIG:
+                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
+                (ContainerrepositoryPackage.Literals.CONTAINER_TEMPLATE__TEMPLATE_CONFIG,
+                 ResourceconfigurationFactory.eINSTANCE.createActiveResourceSpecification()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ContainerrepositoryPackage.Literals.CONTAINER_TEMPLATE__TEMPLATE_CONFIG,
+                 ResourceconfigurationFactory.eINSTANCE.createCustomConfigurationSpecification()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ContainerrepositoryPackage.Literals.CONTAINER_TEMPLATE__TEMPLATE_CONFIG,
+                 ResourceconfigurationFactory.eINSTANCE.createPassiveResourceSpecification()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerrepositoryItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerrepositoryItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..4571f6ed72c7b0209ef483105cb744d836c51fdd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/containerrepository/provider/ContainerrepositoryItemProviderAdapterFactory.java
@@ -0,0 +1,224 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.containerrepository.provider;
+
+import edu.kit.ipd.descartes.mm.containerrepository.util.ContainerrepositoryAdapterFactory;
+
+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 ContainerrepositoryItemProviderAdapterFactory extends ContainerrepositoryAdapterFactory 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 ContainerrepositoryItemProviderAdapterFactory() {
+        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.containerrepository.ContainerRepository} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ContainerRepositoryItemProvider containerRepositoryItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.containerrepository.ContainerRepository}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createContainerRepositoryAdapter() {
+        if (containerRepositoryItemProvider == null) {
+            containerRepositoryItemProvider = new ContainerRepositoryItemProvider(this);
+        }
+
+        return containerRepositoryItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.containerrepository.ContainerTemplate} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ContainerTemplateItemProvider containerTemplateItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.containerrepository.ContainerTemplate}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createContainerTemplateAdapter() {
+        if (containerTemplateItemProvider == null) {
+            containerTemplateItemProvider = new ContainerTemplateItemProvider(this);
+        }
+
+        return containerTemplateItemProvider;
+    }
+
+	/**
+     * 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 (containerRepositoryItemProvider != null) containerRepositoryItemProvider.dispose();
+        if (containerTemplateItemProvider != null) containerTemplateItemProvider.dispose();
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ActiveResourceSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ActiveResourceSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9e9057aa81914511a31a288d676a6ebc8febb2a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ActiveResourceSpecificationItemProvider.java
@@ -0,0 +1,164 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ActiveResourceSpecification;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationFactory;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+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.resourceconfiguration.ActiveResourceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActiveResourceSpecificationItemProvider
+	extends ConfigurationSpecificationItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public ActiveResourceSpecificationItemProvider(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(ResourceconfigurationPackage.Literals.ACTIVE_RESOURCE_SPECIFICATION__PROCESSING_RESOURCE_SPECIFICATIONS);
+            childrenFeatures.add(ResourceconfigurationPackage.Literals.ACTIVE_RESOURCE_SPECIFICATION__LINKING_RESOURCES);
+        }
+        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 ActiveResourceSpecification.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ActiveResourceSpecification"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ActiveResourceSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ActiveResourceSpecification_type") :
+            getString("_UI_ActiveResourceSpecification_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(ActiveResourceSpecification.class)) {
+            case ResourceconfigurationPackage.ACTIVE_RESOURCE_SPECIFICATION__PROCESSING_RESOURCE_SPECIFICATIONS:
+            case ResourceconfigurationPackage.ACTIVE_RESOURCE_SPECIFICATION__LINKING_RESOURCES:
+                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
+                (ResourceconfigurationPackage.Literals.ACTIVE_RESOURCE_SPECIFICATION__PROCESSING_RESOURCE_SPECIFICATIONS,
+                 ResourceconfigurationFactory.eINSTANCE.createProcessingResourceSpecification()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourceconfigurationPackage.Literals.ACTIVE_RESOURCE_SPECIFICATION__LINKING_RESOURCES,
+                 ResourceconfigurationFactory.eINSTANCE.createLinkingResourceSpecification()));
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ConfigurationSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ConfigurationSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..54ea1a02998266ad03f9cb1e910c1bda43d9145c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ConfigurationSpecificationItemProvider.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ConfigurationSpecification;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.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.resourceconfiguration.ConfigurationSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConfigurationSpecificationItemProvider
+	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 ConfigurationSpecificationItemProvider(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 returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ConfigurationSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ConfigurationSpecification_type") :
+            getString("_UI_ConfigurationSpecification_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);
+        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 ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/CustomConfigurationSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/CustomConfigurationSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..566f7bd1502efe9b45a56b37dd3729a7a3355ec2
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/CustomConfigurationSpecificationItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.CustomConfigurationSpecification;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+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.resourceconfiguration.CustomConfigurationSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CustomConfigurationSpecificationItemProvider
+	extends ConfigurationSpecificationItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public CustomConfigurationSpecificationItemProvider(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);
+
+            addNonFunctionalPropertiesPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Non Functional Properties feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addNonFunctionalPropertiesPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_CustomConfigurationSpecification_nonFunctionalProperties_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_CustomConfigurationSpecification_nonFunctionalProperties_feature", "_UI_CustomConfigurationSpecification_type"),
+                 ResourceconfigurationPackage.Literals.CUSTOM_CONFIGURATION_SPECIFICATION__NON_FUNCTIONAL_PROPERTIES,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+	/**
+     * This returns CustomConfigurationSpecification.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/CustomConfigurationSpecification"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((CustomConfigurationSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_CustomConfigurationSpecification_type") :
+            getString("_UI_CustomConfigurationSpecification_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/LinkingResourceSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/LinkingResourceSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c3127cc087d2ca6b87c3c3846494fa0ba1d78987
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/LinkingResourceSpecificationItemProvider.java
@@ -0,0 +1,208 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.LinkingResourceSpecification;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.LinkingResourceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LinkingResourceSpecificationItemProvider
+	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 LinkingResourceSpecificationItemProvider(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);
+
+            addConnectedResourceSpecificationsPropertyDescriptor(object);
+            addBandwidthPropertyDescriptor(object);
+            addCommunicationLinkResourceTypePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Connected Resource Specifications feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addConnectedResourceSpecificationsPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_LinkingResourceSpecification_connectedResourceSpecifications_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_LinkingResourceSpecification_connectedResourceSpecifications_feature", "_UI_LinkingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.LINKING_RESOURCE_SPECIFICATION__CONNECTED_RESOURCE_SPECIFICATIONS,
+                 true,
+                 false,
+                 true,
+                 null,
+                 null,
+                 null));
+    }
+
+	/**
+     * This adds a property descriptor for the Bandwidth feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addBandwidthPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_LinkingResourceSpecification_bandwidth_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_LinkingResourceSpecification_bandwidth_feature", "_UI_LinkingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.LINKING_RESOURCE_SPECIFICATION__BANDWIDTH,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+	/**
+     * This adds a property descriptor for the Communication Link Resource Type feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addCommunicationLinkResourceTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_LinkingResourceSpecification_communicationLinkResourceType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_LinkingResourceSpecification_communicationLinkResourceType_feature", "_UI_LinkingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.LINKING_RESOURCE_SPECIFICATION__COMMUNICATION_LINK_RESOURCE_TYPE,
+                 true,
+                 false,
+                 false,
+                 null,
+                 null,
+                 null));
+    }
+
+	/**
+     * This returns LinkingResourceSpecification.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/LinkingResourceSpecification"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((LinkingResourceSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_LinkingResourceSpecification_type") :
+            getString("_UI_LinkingResourceSpecification_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(LinkingResourceSpecification.class)) {
+            case ResourceconfigurationPackage.LINKING_RESOURCE_SPECIFICATION__BANDWIDTH:
+            case ResourceconfigurationPackage.LINKING_RESOURCE_SPECIFICATION__COMMUNICATION_LINK_RESOURCE_TYPE:
+                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 ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/NumberOfParallelProcessingUnitsItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/NumberOfParallelProcessingUnitsItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ccad46cd6767004b1b1604670f1682928ec21460
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/NumberOfParallelProcessingUnitsItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.AdaptableEntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.NumberOfParallelProcessingUnits;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.NumberOfParallelProcessingUnits} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NumberOfParallelProcessingUnitsItemProvider
+	extends AdaptableEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public NumberOfParallelProcessingUnitsItemProvider(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);
+
+            addNumberPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Number feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addNumberPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_NumberOfParallelProcessingUnits_number_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_NumberOfParallelProcessingUnits_number_feature", "_UI_NumberOfParallelProcessingUnits_type"),
+                 ResourceconfigurationPackage.Literals.NUMBER_OF_PARALLEL_PROCESSING_UNITS__NUMBER,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+	/**
+     * This returns NumberOfParallelProcessingUnits.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/NumberOfParallelProcessingUnits"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((NumberOfParallelProcessingUnits)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_NumberOfParallelProcessingUnits_type") :
+            getString("_UI_NumberOfParallelProcessingUnits_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(NumberOfParallelProcessingUnits.class)) {
+            case ResourceconfigurationPackage.NUMBER_OF_PARALLEL_PROCESSING_UNITS__NUMBER:
+                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 ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/PassiveResourceCapacityItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/PassiveResourceCapacityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e07a311a36802874c91b90baa298d33d79ad5fe0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/PassiveResourceCapacityItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.AdaptableEntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceCapacity;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceCapacity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PassiveResourceCapacityItemProvider
+	extends AdaptableEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public PassiveResourceCapacityItemProvider(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);
+
+            addCapacityPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Capacity feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addCapacityPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PassiveResourceCapacity_capacity_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PassiveResourceCapacity_capacity_feature", "_UI_PassiveResourceCapacity_type"),
+                 ResourceconfigurationPackage.Literals.PASSIVE_RESOURCE_CAPACITY__CAPACITY,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+	/**
+     * This returns PassiveResourceCapacity.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/PassiveResourceCapacity"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((PassiveResourceCapacity)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PassiveResourceCapacity_type") :
+            getString("_UI_PassiveResourceCapacity_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(PassiveResourceCapacity.class)) {
+            case ResourceconfigurationPackage.PASSIVE_RESOURCE_CAPACITY__CAPACITY:
+                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 ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/PassiveResourceSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/PassiveResourceSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f647f4ef575f1caa80a3f016c76e17daec428f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/PassiveResourceSpecificationItemProvider.java
@@ -0,0 +1,181 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceSpecification;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationFactory;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+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.resourceconfiguration.PassiveResourceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PassiveResourceSpecificationItemProvider
+	extends ConfigurationSpecificationItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public PassiveResourceSpecificationItemProvider(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);
+
+            addPassiveResourceTypePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Passive Resource Type feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addPassiveResourceTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_PassiveResourceSpecification_passiveResourceType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_PassiveResourceSpecification_passiveResourceType_feature", "_UI_PassiveResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.PASSIVE_RESOURCE_SPECIFICATION__PASSIVE_RESOURCE_TYPE,
+                 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(ResourceconfigurationPackage.Literals.PASSIVE_RESOURCE_SPECIFICATION__CAPACITY);
+        }
+        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 PassiveResourceSpecification.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/PassiveResourceSpecification"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((PassiveResourceSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PassiveResourceSpecification_type") :
+            getString("_UI_PassiveResourceSpecification_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(PassiveResourceSpecification.class)) {
+            case ResourceconfigurationPackage.PASSIVE_RESOURCE_SPECIFICATION__CAPACITY:
+                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
+                (ResourceconfigurationPackage.Literals.PASSIVE_RESOURCE_SPECIFICATION__CAPACITY,
+                 ResourceconfigurationFactory.eINSTANCE.createPassiveResourceCapacity()));
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ProcessingResourceSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ProcessingResourceSpecificationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..69750a04d71fd9f17f99a24c3799e5d3b20150e1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ProcessingResourceSpecificationItemProvider.java
@@ -0,0 +1,273 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ProcessingResourceSpecification;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationFactory;
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.ProcessingResourceSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProcessingResourceSpecificationItemProvider
+	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 ProcessingResourceSpecificationItemProvider(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);
+
+            addSchedulingPolicyPropertyDescriptor(object);
+            addProcessingRatePropertyDescriptor(object);
+            addActiveResourceTypePropertyDescriptor(object);
+            addParentResourceSpecificationPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Scheduling Policy feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addSchedulingPolicyPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ProcessingResourceSpecification_schedulingPolicy_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ProcessingResourceSpecification_schedulingPolicy_feature", "_UI_ProcessingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.PROCESSING_RESOURCE_SPECIFICATION__SCHEDULING_POLICY,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+	/**
+     * This adds a property descriptor for the Processing Rate feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addProcessingRatePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ProcessingResourceSpecification_processingRate_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ProcessingResourceSpecification_processingRate_feature", "_UI_ProcessingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.PROCESSING_RESOURCE_SPECIFICATION__PROCESSING_RATE,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+	/**
+     * This adds a property descriptor for the Active Resource Type feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addActiveResourceTypePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ProcessingResourceSpecification_activeResourceType_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ProcessingResourceSpecification_activeResourceType_feature", "_UI_ProcessingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.PROCESSING_RESOURCE_SPECIFICATION__ACTIVE_RESOURCE_TYPE,
+                 true,
+                 false,
+                 false,
+                 null,
+                 null,
+                 null));
+    }
+
+	/**
+     * This adds a property descriptor for the Parent Resource Specification feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addParentResourceSpecificationPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_ProcessingResourceSpecification_parentResourceSpecification_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_ProcessingResourceSpecification_parentResourceSpecification_feature", "_UI_ProcessingResourceSpecification_type"),
+                 ResourceconfigurationPackage.Literals.PROCESSING_RESOURCE_SPECIFICATION__PARENT_RESOURCE_SPECIFICATION,
+                 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(ResourceconfigurationPackage.Literals.PROCESSING_RESOURCE_SPECIFICATION__NR_OF_PAR_PROC_UNITS);
+        }
+        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 ProcessingResourceSpecification.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ProcessingResourceSpecification"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ProcessingResourceSpecification)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ProcessingResourceSpecification_type") :
+            getString("_UI_ProcessingResourceSpecification_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(ProcessingResourceSpecification.class)) {
+            case ResourceconfigurationPackage.PROCESSING_RESOURCE_SPECIFICATION__SCHEDULING_POLICY:
+            case ResourceconfigurationPackage.PROCESSING_RESOURCE_SPECIFICATION__PROCESSING_RATE:
+            case ResourceconfigurationPackage.PROCESSING_RESOURCE_SPECIFICATION__ACTIVE_RESOURCE_TYPE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+            case ResourceconfigurationPackage.PROCESSING_RESOURCE_SPECIFICATION__NR_OF_PAR_PROC_UNITS:
+                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
+                (ResourceconfigurationPackage.Literals.PROCESSING_RESOURCE_SPECIFICATION__NR_OF_PAR_PROC_UNITS,
+                 ResourceconfigurationFactory.eINSTANCE.createNumberOfParallelProcessingUnits()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ResourceconfigurationItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ResourceconfigurationItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..569a5b4121e83ed69cf3b7a6230a71a5802ea48f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourceconfiguration/provider/ResourceconfigurationItemProviderAdapterFactory.java
@@ -0,0 +1,344 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourceconfiguration.provider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.util.ResourceconfigurationAdapterFactory;
+
+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 ResourceconfigurationItemProviderAdapterFactory extends ResourceconfigurationAdapterFactory 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 ResourceconfigurationItemProviderAdapterFactory() {
+        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.resourceconfiguration.ProcessingResourceSpecification} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ProcessingResourceSpecificationItemProvider processingResourceSpecificationItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.ProcessingResourceSpecification}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createProcessingResourceSpecificationAdapter() {
+        if (processingResourceSpecificationItemProvider == null) {
+            processingResourceSpecificationItemProvider = new ProcessingResourceSpecificationItemProvider(this);
+        }
+
+        return processingResourceSpecificationItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourceconfiguration.NumberOfParallelProcessingUnits} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected NumberOfParallelProcessingUnitsItemProvider numberOfParallelProcessingUnitsItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.NumberOfParallelProcessingUnits}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createNumberOfParallelProcessingUnitsAdapter() {
+        if (numberOfParallelProcessingUnitsItemProvider == null) {
+            numberOfParallelProcessingUnitsItemProvider = new NumberOfParallelProcessingUnitsItemProvider(this);
+        }
+
+        return numberOfParallelProcessingUnitsItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourceconfiguration.LinkingResourceSpecification} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected LinkingResourceSpecificationItemProvider linkingResourceSpecificationItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.LinkingResourceSpecification}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createLinkingResourceSpecificationAdapter() {
+        if (linkingResourceSpecificationItemProvider == null) {
+            linkingResourceSpecificationItemProvider = new LinkingResourceSpecificationItemProvider(this);
+        }
+
+        return linkingResourceSpecificationItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourceconfiguration.ActiveResourceSpecification} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ActiveResourceSpecificationItemProvider activeResourceSpecificationItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.ActiveResourceSpecification}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createActiveResourceSpecificationAdapter() {
+        if (activeResourceSpecificationItemProvider == null) {
+            activeResourceSpecificationItemProvider = new ActiveResourceSpecificationItemProvider(this);
+        }
+
+        return activeResourceSpecificationItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourceconfiguration.CustomConfigurationSpecification} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected CustomConfigurationSpecificationItemProvider customConfigurationSpecificationItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.CustomConfigurationSpecification}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createCustomConfigurationSpecificationAdapter() {
+        if (customConfigurationSpecificationItemProvider == null) {
+            customConfigurationSpecificationItemProvider = new CustomConfigurationSpecificationItemProvider(this);
+        }
+
+        return customConfigurationSpecificationItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceSpecification} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected PassiveResourceSpecificationItemProvider passiveResourceSpecificationItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceSpecification}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createPassiveResourceSpecificationAdapter() {
+        if (passiveResourceSpecificationItemProvider == null) {
+            passiveResourceSpecificationItemProvider = new PassiveResourceSpecificationItemProvider(this);
+        }
+
+        return passiveResourceSpecificationItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceCapacity} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected PassiveResourceCapacityItemProvider passiveResourceCapacityItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourceconfiguration.PassiveResourceCapacity}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createPassiveResourceCapacityAdapter() {
+        if (passiveResourceCapacityItemProvider == null) {
+            passiveResourceCapacityItemProvider = new PassiveResourceCapacityItemProvider(this);
+        }
+
+        return passiveResourceCapacityItemProvider;
+    }
+
+	/**
+     * 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 (processingResourceSpecificationItemProvider != null) processingResourceSpecificationItemProvider.dispose();
+        if (numberOfParallelProcessingUnitsItemProvider != null) numberOfParallelProcessingUnitsItemProvider.dispose();
+        if (linkingResourceSpecificationItemProvider != null) linkingResourceSpecificationItemProvider.dispose();
+        if (activeResourceSpecificationItemProvider != null) activeResourceSpecificationItemProvider.dispose();
+        if (customConfigurationSpecificationItemProvider != null) customConfigurationSpecificationItemProvider.dispose();
+        if (passiveResourceSpecificationItemProvider != null) passiveResourceSpecificationItemProvider.dispose();
+        if (passiveResourceCapacityItemProvider != null) passiveResourceCapacityItemProvider.dispose();
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/AbstractHardwareInfrastructureItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/AbstractHardwareInfrastructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..68b42c162b238bd5f973276e7e538c21449e0ea7
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/AbstractHardwareInfrastructureItemProvider.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+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.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 edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+import edu.kit.ipd.descartes.mm.resourcelandscape.AbstractHardwareInfrastructure;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.AbstractHardwareInfrastructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractHardwareInfrastructureItemProvider
+	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 AbstractHardwareInfrastructureItemProvider(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 returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((AbstractHardwareInfrastructure)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_AbstractHardwareInfrastructure_type") :
+            getString("_UI_AbstractHardwareInfrastructure_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);
+        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 ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/CompositeHardwareInfrastructureItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/CompositeHardwareInfrastructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..22f4ec2bd62e2c264a890a31ecbf4adcd6c41b4b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/CompositeHardwareInfrastructureItemProvider.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.CompositeHardwareInfrastructure;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
+
+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.resourcelandscape.CompositeHardwareInfrastructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CompositeHardwareInfrastructureItemProvider
+	extends AbstractHardwareInfrastructureItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public CompositeHardwareInfrastructureItemProvider(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(ResourcelandscapePackage.Literals.COMPOSITE_HARDWARE_INFRASTRUCTURE__CONTAINS);
+        }
+        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 CompositeHardwareInfrastructure.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeHardwareInfrastructure"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((CompositeHardwareInfrastructure)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_CompositeHardwareInfrastructure_type") :
+            getString("_UI_CompositeHardwareInfrastructure_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(CompositeHardwareInfrastructure.class)) {
+            case ResourcelandscapePackage.COMPOSITE_HARDWARE_INFRASTRUCTURE__CONTAINS:
+                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
+                (ResourcelandscapePackage.Literals.COMPOSITE_HARDWARE_INFRASTRUCTURE__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.COMPOSITE_HARDWARE_INFRASTRUCTURE__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createNetworkingInfrastructure()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.COMPOSITE_HARDWARE_INFRASTRUCTURE__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createStorageInfrastructure()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.COMPOSITE_HARDWARE_INFRASTRUCTURE__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createCompositeHardwareInfrastructure()));
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ComputingInfrastructureItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ComputingInfrastructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f25dd86f5ccf22827953dd80e1927392172b761d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ComputingInfrastructureItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.ComputingInfrastructure;
+
+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.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.resourcelandscape.ComputingInfrastructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComputingInfrastructureItemProvider
+	extends ContainerItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public ComputingInfrastructureItemProvider(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 returns ComputingInfrastructure.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ComputingInfrastructure"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ComputingInfrastructure)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ComputingInfrastructure_type") :
+            getString("_UI_ComputingInfrastructure_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ContainerItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ContainerItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b03239e7806703d0d616cb0f4194ea791b6ab4cd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ContainerItemProvider.java
@@ -0,0 +1,204 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationFactory;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.Container;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
+
+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.resourcelandscape.Container} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContainerItemProvider
+	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 ContainerItemProvider(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);
+
+            addTemplatePropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Template feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addTemplatePropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_Container_template_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_Container_template_feature", "_UI_Container_type"),
+                 ResourcelandscapePackage.Literals.CONTAINER__TEMPLATE,
+                 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(ResourcelandscapePackage.Literals.CONTAINER__CONTAINS);
+            childrenFeatures.add(ResourcelandscapePackage.Literals.CONTAINER__CONFIG_SPEC);
+        }
+        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 the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((Container)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_Container_type") :
+            getString("_UI_Container_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(Container.class)) {
+            case ResourcelandscapePackage.CONTAINER__CONTAINS:
+            case ResourcelandscapePackage.CONTAINER__CONFIG_SPEC:
+                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
+                (ResourcelandscapePackage.Literals.CONTAINER__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.CONTAINER__CONFIG_SPEC,
+                 ResourceconfigurationFactory.eINSTANCE.createActiveResourceSpecification()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.CONTAINER__CONFIG_SPEC,
+                 ResourceconfigurationFactory.eINSTANCE.createCustomConfigurationSpecification()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.CONTAINER__CONFIG_SPEC,
+                 ResourceconfigurationFactory.eINSTANCE.createPassiveResourceSpecification()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/DataCenterItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/DataCenterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..45d07743a3a578e33f8845a7156a7d04309e4ddb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/DataCenterItemProvider.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.DataCenter;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
+
+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.resourcelandscape.DataCenter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataCenterItemProvider
+	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 DataCenterItemProvider(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(ResourcelandscapePackage.Literals.DATA_CENTER__CONTAINS);
+        }
+        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 DataCenter.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/DataCenter"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((DataCenter)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_DataCenter_type") :
+            getString("_UI_DataCenter_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(DataCenter.class)) {
+            case ResourcelandscapePackage.DATA_CENTER__CONTAINS:
+                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
+                (ResourcelandscapePackage.Literals.DATA_CENTER__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createComputingInfrastructure()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.DATA_CENTER__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createNetworkingInfrastructure()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.DATA_CENTER__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createStorageInfrastructure()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcelandscapePackage.Literals.DATA_CENTER__CONTAINS,
+                 ResourcelandscapeFactory.eINSTANCE.createCompositeHardwareInfrastructure()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/DistributedDataCenterItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/DistributedDataCenterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..53e74acfbdc68985e86168b7376186fa428ae848
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/DistributedDataCenterItemProvider.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory;
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
+
+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.resourcelandscape.DistributedDataCenter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DistributedDataCenterItemProvider
+	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 DistributedDataCenterItemProvider(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(ResourcelandscapePackage.Literals.DISTRIBUTED_DATA_CENTER__CONSISTS_OF);
+        }
+        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 DistributedDataCenter.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/DistributedDataCenter"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((DistributedDataCenter)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_DistributedDataCenter_type") :
+            getString("_UI_DistributedDataCenter_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(DistributedDataCenter.class)) {
+            case ResourcelandscapePackage.DISTRIBUTED_DATA_CENTER__CONSISTS_OF:
+                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
+                (ResourcelandscapePackage.Literals.DISTRIBUTED_DATA_CENTER__CONSISTS_OF,
+                 ResourcelandscapeFactory.eINSTANCE.createDataCenter()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/NetworkingInfrastructureItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/NetworkingInfrastructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb5c0644b0b0fc87741711846541a27e1fd5105a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/NetworkingInfrastructureItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.NetworkingInfrastructure;
+
+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.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.resourcelandscape.NetworkingInfrastructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NetworkingInfrastructureItemProvider
+	extends ContainerItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public NetworkingInfrastructureItemProvider(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 returns NetworkingInfrastructure.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/NetworkingInfrastructure"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((NetworkingInfrastructure)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_NetworkingInfrastructure_type") :
+            getString("_UI_NetworkingInfrastructure_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ResourcelandscapeEditPlugin.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ResourcelandscapeEditPlugin.java
new file mode 100644
index 0000000000000000000000000000000000000000..15cf54a08f540dbcf14239cd6746a7ee25197192
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ResourcelandscapeEditPlugin.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Resourcelandscape edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ResourcelandscapeEditPlugin extends EMFPlugin {
+	/**
+     * Keep track of the singleton.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public static final ResourcelandscapeEditPlugin INSTANCE = new ResourcelandscapeEditPlugin();
+
+	/**
+     * 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 ResourcelandscapeEditPlugin() {
+        super
+          (new ResourceLocator [] {
+             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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ResourcelandscapeItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ResourcelandscapeItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..1adfd9f93818802e4a5e63e3851cd27a3cd70225
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/ResourcelandscapeItemProviderAdapterFactory.java
@@ -0,0 +1,344 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.util.ResourcelandscapeAdapterFactory;
+
+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 ResourcelandscapeItemProviderAdapterFactory extends ResourcelandscapeAdapterFactory 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 ResourcelandscapeItemProviderAdapterFactory() {
+        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.resourcelandscape.ComputingInfrastructure} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ComputingInfrastructureItemProvider computingInfrastructureItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.ComputingInfrastructure}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createComputingInfrastructureAdapter() {
+        if (computingInfrastructureItemProvider == null) {
+            computingInfrastructureItemProvider = new ComputingInfrastructureItemProvider(this);
+        }
+
+        return computingInfrastructureItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcelandscape.NetworkingInfrastructure} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected NetworkingInfrastructureItemProvider networkingInfrastructureItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.NetworkingInfrastructure}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createNetworkingInfrastructureAdapter() {
+        if (networkingInfrastructureItemProvider == null) {
+            networkingInfrastructureItemProvider = new NetworkingInfrastructureItemProvider(this);
+        }
+
+        return networkingInfrastructureItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcelandscape.StorageInfrastructure} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected StorageInfrastructureItemProvider storageInfrastructureItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.StorageInfrastructure}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createStorageInfrastructureAdapter() {
+        if (storageInfrastructureItemProvider == null) {
+            storageInfrastructureItemProvider = new StorageInfrastructureItemProvider(this);
+        }
+
+        return storageInfrastructureItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcelandscape.RuntimeEnvironment} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected RuntimeEnvironmentItemProvider runtimeEnvironmentItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.RuntimeEnvironment}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createRuntimeEnvironmentAdapter() {
+        if (runtimeEnvironmentItemProvider == null) {
+            runtimeEnvironmentItemProvider = new RuntimeEnvironmentItemProvider(this);
+        }
+
+        return runtimeEnvironmentItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcelandscape.DataCenter} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected DataCenterItemProvider dataCenterItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.DataCenter}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createDataCenterAdapter() {
+        if (dataCenterItemProvider == null) {
+            dataCenterItemProvider = new DataCenterItemProvider(this);
+        }
+
+        return dataCenterItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected DistributedDataCenterItemProvider distributedDataCenterItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createDistributedDataCenterAdapter() {
+        if (distributedDataCenterItemProvider == null) {
+            distributedDataCenterItemProvider = new DistributedDataCenterItemProvider(this);
+        }
+
+        return distributedDataCenterItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcelandscape.CompositeHardwareInfrastructure} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected CompositeHardwareInfrastructureItemProvider compositeHardwareInfrastructureItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcelandscape.CompositeHardwareInfrastructure}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createCompositeHardwareInfrastructureAdapter() {
+        if (compositeHardwareInfrastructureItemProvider == null) {
+            compositeHardwareInfrastructureItemProvider = new CompositeHardwareInfrastructureItemProvider(this);
+        }
+
+        return compositeHardwareInfrastructureItemProvider;
+    }
+
+	/**
+     * 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 (computingInfrastructureItemProvider != null) computingInfrastructureItemProvider.dispose();
+        if (networkingInfrastructureItemProvider != null) networkingInfrastructureItemProvider.dispose();
+        if (storageInfrastructureItemProvider != null) storageInfrastructureItemProvider.dispose();
+        if (runtimeEnvironmentItemProvider != null) runtimeEnvironmentItemProvider.dispose();
+        if (dataCenterItemProvider != null) dataCenterItemProvider.dispose();
+        if (distributedDataCenterItemProvider != null) distributedDataCenterItemProvider.dispose();
+        if (compositeHardwareInfrastructureItemProvider != null) compositeHardwareInfrastructureItemProvider.dispose();
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/RuntimeEnvironmentItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/RuntimeEnvironmentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6fdb007d9048c9cfb614293e9c7502067ebaec88
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/RuntimeEnvironmentItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
+import edu.kit.ipd.descartes.mm.resourcelandscape.RuntimeEnvironment;
+
+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.resourcelandscape.RuntimeEnvironment} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RuntimeEnvironmentItemProvider
+	extends ContainerItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public RuntimeEnvironmentItemProvider(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);
+
+            addOfClassPropertyDescriptor(object);
+        }
+        return itemPropertyDescriptors;
+    }
+
+	/**
+     * This adds a property descriptor for the Of Class feature.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected void addOfClassPropertyDescriptor(Object object) {
+        itemPropertyDescriptors.add
+            (createItemPropertyDescriptor
+                (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+                 getResourceLocator(),
+                 getString("_UI_RuntimeEnvironment_ofClass_feature"),
+                 getString("_UI_PropertyDescriptor_description", "_UI_RuntimeEnvironment_ofClass_feature", "_UI_RuntimeEnvironment_type"),
+                 ResourcelandscapePackage.Literals.RUNTIME_ENVIRONMENT__OF_CLASS,
+                 true,
+                 false,
+                 false,
+                 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+                 null,
+                 null));
+    }
+
+	/**
+     * This returns RuntimeEnvironment.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/RuntimeEnvironment"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((RuntimeEnvironment)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_RuntimeEnvironment_type") :
+            getString("_UI_RuntimeEnvironment_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(RuntimeEnvironment.class)) {
+            case ResourcelandscapePackage.RUNTIME_ENVIRONMENT__OF_CLASS:
+                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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/StorageInfrastructureItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/StorageInfrastructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..7c1ff861eac63aa16d30158b81e66233f45a0be2
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcelandscape/provider/StorageInfrastructureItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcelandscape.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.StorageInfrastructure;
+
+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.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.resourcelandscape.StorageInfrastructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StorageInfrastructureItemProvider
+	extends ContainerItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public StorageInfrastructureItemProvider(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 returns StorageInfrastructure.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/StorageInfrastructure"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((StorageInfrastructure)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_StorageInfrastructure_type") :
+            getString("_UI_StorageInfrastructure_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/CommunicationLinkResourceTypeItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/CommunicationLinkResourceTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6699a456e812d718b1962254df41ca5e237b17f6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/CommunicationLinkResourceTypeItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcetype.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcetype.CommunicationLinkResourceType;
+
+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.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.resourcetype.CommunicationLinkResourceType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CommunicationLinkResourceTypeItemProvider
+	extends ProcessingResourceTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public CommunicationLinkResourceTypeItemProvider(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 returns CommunicationLinkResourceType.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/CommunicationLinkResourceType"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((CommunicationLinkResourceType)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_CommunicationLinkResourceType_type") :
+            getString("_UI_CommunicationLinkResourceType_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/PassiveResourceTypeItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/PassiveResourceTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3ef877ea8141272ac4967c253b9fc7511208a89b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/PassiveResourceTypeItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcetype.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcetype.PassiveResourceType;
+
+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.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.resourcetype.PassiveResourceType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PassiveResourceTypeItemProvider
+	extends ResourceTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public PassiveResourceTypeItemProvider(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 returns PassiveResourceType.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/PassiveResourceType"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((PassiveResourceType)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_PassiveResourceType_type") :
+            getString("_UI_PassiveResourceType_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ProcessingResourceTypeItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ProcessingResourceTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a51cfb3b46adcc49638c6910aebe59b65cb2c91a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ProcessingResourceTypeItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcetype.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcetype.ProcessingResourceType;
+
+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.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.resourcetype.ProcessingResourceType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProcessingResourceTypeItemProvider
+	extends ResourceTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+     * This constructs an instance from a factory and a notifier.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	public ProcessingResourceTypeItemProvider(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 returns ProcessingResourceType.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ProcessingResourceType"));
+    }
+
+	/**
+     * This returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ProcessingResourceType)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ProcessingResourceType_type") :
+            getString("_UI_ProcessingResourceType_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);
+        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.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourceTypeItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourceTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..48abfa8e0c8342eb6f11541b6a1476c2fcba23a3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourceTypeItemProvider.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcetype.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+import edu.kit.ipd.descartes.mm.resourcetype.ResourceType;
+
+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.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.resourcetype.ResourceType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResourceTypeItemProvider
+	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 ResourceTypeItemProvider(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 returns the label text for the adapted class.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public String getText(Object object) {
+        String label = ((ResourceType)object).getName();
+        return label == null || label.length() == 0 ?
+            getString("_UI_ResourceType_type") :
+            getString("_UI_ResourceType_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);
+        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 ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourceTypeRepositoryItemProvider.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourceTypeRepositoryItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..89dae178076fe2536f44114f5a774e947083238a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourceTypeRepositoryItemProvider.java
@@ -0,0 +1,180 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcetype.provider;
+
+
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
+
+import edu.kit.ipd.descartes.mm.resourcetype.ResourceTypeRepository;
+import edu.kit.ipd.descartes.mm.resourcetype.ResourcetypeFactory;
+import edu.kit.ipd.descartes.mm.resourcetype.ResourcetypePackage;
+
+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.resourcetype.ResourceTypeRepository} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ResourceTypeRepositoryItemProvider
+	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 ResourceTypeRepositoryItemProvider(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(ResourcetypePackage.Literals.RESOURCE_TYPE_REPOSITORY__RESOURCE_TYPES);
+        }
+        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 ResourceTypeRepository.gif.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/ResourceTypeRepository"));
+    }
+
+	/**
+     * 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_ResourceTypeRepository_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(ResourceTypeRepository.class)) {
+            case ResourcetypePackage.RESOURCE_TYPE_REPOSITORY__RESOURCE_TYPES:
+                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
+                (ResourcetypePackage.Literals.RESOURCE_TYPE_REPOSITORY__RESOURCE_TYPES,
+                 ResourcetypeFactory.eINSTANCE.createProcessingResourceType()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcetypePackage.Literals.RESOURCE_TYPE_REPOSITORY__RESOURCE_TYPES,
+                 ResourcetypeFactory.eINSTANCE.createCommunicationLinkResourceType()));
+
+        newChildDescriptors.add
+            (createChildParameter
+                (ResourcetypePackage.Literals.RESOURCE_TYPE_REPOSITORY__RESOURCE_TYPES,
+                 ResourcetypeFactory.eINSTANCE.createPassiveResourceType()));
+    }
+
+	/**
+     * Return the resource locator for this item provider's resources.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public ResourceLocator getResourceLocator() {
+        return ResourcelandscapeEditPlugin.INSTANCE;
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourcetypeItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourcetypeItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..efce4050b1f8fa53e6eb3f21b5c8049db46674ea
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.resourcelandscape.edit/src/edu/kit/ipd/descartes/mm/resourcetype/provider/ResourcetypeItemProviderAdapterFactory.java
@@ -0,0 +1,258 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.resourcetype.provider;
+
+import edu.kit.ipd.descartes.mm.resourcetype.util.ResourcetypeAdapterFactory;
+
+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.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 ResourcetypeItemProviderAdapterFactory extends ResourcetypeAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier {
+	/**
+     * 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 ResourcetypeItemProviderAdapterFactory() {
+        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.resourcetype.ResourceTypeRepository} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ResourceTypeRepositoryItemProvider resourceTypeRepositoryItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcetype.ResourceTypeRepository}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createResourceTypeRepositoryAdapter() {
+        if (resourceTypeRepositoryItemProvider == null) {
+            resourceTypeRepositoryItemProvider = new ResourceTypeRepositoryItemProvider(this);
+        }
+
+        return resourceTypeRepositoryItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcetype.ProcessingResourceType} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected ProcessingResourceTypeItemProvider processingResourceTypeItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcetype.ProcessingResourceType}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createProcessingResourceTypeAdapter() {
+        if (processingResourceTypeItemProvider == null) {
+            processingResourceTypeItemProvider = new ProcessingResourceTypeItemProvider(this);
+        }
+
+        return processingResourceTypeItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcetype.CommunicationLinkResourceType} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected CommunicationLinkResourceTypeItemProvider communicationLinkResourceTypeItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcetype.CommunicationLinkResourceType}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createCommunicationLinkResourceTypeAdapter() {
+        if (communicationLinkResourceTypeItemProvider == null) {
+            communicationLinkResourceTypeItemProvider = new CommunicationLinkResourceTypeItemProvider(this);
+        }
+
+        return communicationLinkResourceTypeItemProvider;
+    }
+
+	/**
+     * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.resourcetype.PassiveResourceType} instances.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	protected PassiveResourceTypeItemProvider passiveResourceTypeItemProvider;
+
+	/**
+     * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.resourcetype.PassiveResourceType}.
+     * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+     * @generated
+     */
+	@Override
+	public Adapter createPassiveResourceTypeAdapter() {
+        if (passiveResourceTypeItemProvider == null) {
+            passiveResourceTypeItemProvider = new PassiveResourceTypeItemProvider(this);
+        }
+
+        return passiveResourceTypeItemProvider;
+    }
+
+	/**
+     * 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);
+        }
+    }
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/.classpath b/edu.kit.ipd.descartes.mm.workload.edit/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..121e527a9386dd66bdd0ec178fc2d28d734b82f8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/.project b/edu.kit.ipd.descartes.mm.workload.edit/.project
new file mode 100644
index 0000000000000000000000000000000000000000..fd637a2742f0d3fc4eaebd69a86910ea3d75c5ac
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>edu.kit.ipd.descartes.mm.workload.edit</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..a60e885a9c964cfcc84d0077bfb5af6c5f1211ca
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: edu.kit.ipd.descartes.mm.workload.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: edu.kit.ipd.descartes.mm.workload.provider.WorkloadEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: edu.kit.ipd.descartes.mm.workload.provider
+Require-Bundle: org.eclipse.core.runtime,
+ edu.kit.ipd.descartes.mm.workload;visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.applicationlevel;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.applicationlevel.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.core;visibility:=reexport,
+ edu.kit.ipd.descartes.core.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier;visibility:=reexport,
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/build.properties b/edu.kit.ipd.descartes.mm.workload.edit/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..f49dbb43fe1c660ba5a28e2b7e1537d06469665d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/build.properties
@@ -0,0 +1,10 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12d45aab7d83c0303e1a239db655e80d4a3872e2
Binary files /dev/null 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/CreateBranchUserAction_branches_ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branches_ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7adf9acc6d9973159ba8eb5c0162949cc73e05b4
Binary files /dev/null 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/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c461d5746b920863218203fc45d6567271d14bcd
Binary files /dev/null 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/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif
new file mode 100644
index 0000000000000000000000000000000000000000..700bd5ecdaf12876e4bb3c0589a19d68ed649c49
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.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/CreateScenarioBehavior_actions_StartUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7926c34197a07b0edbcff171838e21d13464ccb5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.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/CreateScenarioBehavior_actions_StopUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..85753e9f7091c08d1f9a859be4d9ec7eae9ea19c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StopUserAction.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/BranchUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/BranchUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a
Binary files /dev/null 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/CallParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/CallParameterSetting.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null 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/ParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4fb30e96873d2484faec9d508dcbdd69e73d82e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.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/StartUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StartUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be22463d2919f13a6345bad3166fc216c3f0942a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StartUserAction.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/StopUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8a5c70cbd74c87cb3b1df383e0c242ede4660c3b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StopUserAction.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/Workload.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/Workload.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be22463d2919f13a6345bad3166fc216c3f0942a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/Workload.gif differ
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e33138bdd8660af81fedc82c2ddabe313d59f0fb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
@@ -0,0 +1,79 @@
+# Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+
+pluginName = Workload Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Workload_type = Workload
+_UI_UsageScenario_type = Usage Scenario
+_UI_ScenarioBehavior_type = Scenario Behavior
+_UI_WorkloadType_type = Type
+_UI_OpenWorkloadType_type = Open Workload Type
+_UI_ClosedWorkloadType_type = Closed Workload Type
+_UI_AbstractUserAction_type = Abstract User Action
+_UI_Start_type = Start
+_UI_Stop_type = Stop
+_UI_Loop_type = Loop
+_UI_Delay_type = Delay
+_UI_Branch_type = Branch
+_UI_BranchTransition_type = Branch Transition
+_UI_EntryLevelSystemCall_type = Entry Level System Call
+_UI_ParameterSetting_type = Parameter Setting
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Workload_usageScenarios_feature = Usage Scenarios
+_UI_UsageScenario_usageModel_feature = Usage Model
+_UI_UsageScenario_scenarioBehavior_feature = Scenario Behavior
+_UI_UsageScenario_workloadType_feature = Workload Type
+_UI_ScenarioBehavior_usageScenario_feature = Usage Scenario
+_UI_ScenarioBehavior_actions_feature = Actions
+_UI_ScenarioBehavior_loop_feature = Loop
+_UI_ScenarioBehavior_branchTransition_feature = Branch Transition
+_UI_WorkloadType_usageScenario_feature = Usage Scenario
+_UI_OpenWorkloadType_interArrivalTime_feature = Inter Arrival Time
+_UI_ClosedWorkloadType_population_feature = Population
+_UI_ClosedWorkloadType_thinkTime_feature = Think Time
+_UI_AbstractUserAction_predecessor_feature = Predecessor
+_UI_AbstractUserAction_successor_feature = Successor
+_UI_AbstractUserAction_parentScenarioBehavior_feature = Parent Scenario Behavior
+_UI_Loop_bodyBehavior_feature = Body Behavior
+_UI_Loop_loopIterationNumber_feature = Loop Iteration Number
+_UI_Delay_timeSpecification_feature = Time Specification
+_UI_Branch_branchTransitions_feature = Branch Transitions
+_UI_BranchTransition_branchProbability_feature = Branch Probability
+_UI_BranchTransition_branch_feature = Branch
+_UI_BranchTransition_branchedBehavior_feature = Branched Behavior
+_UI_EntryLevelSystemCall_providedRole_feature = Provided Role
+_UI_EntryLevelSystemCall_signature_feature = Signature
+_UI_EntryLevelSystemCall_inputParameterUsage_feature = Input Parameter Usage
+_UI_ParameterSetting_name_feature = Name
+_UI_ParameterSetting_parameterSetting_feature = Parameter Setting
+_UI_Unknown_feature = Unspecified
+
+_UI_StartUserAction_type = Start User Action
+_UI_StopUserAction_type = Stop User Action
+_UI_LoopUserAction_type = Loop User Action
+_UI_DelayUserAction_type = Delay User Action
+_UI_BranchUserAction_type = Branch User Action
+_UI_LoopUserAction_loopBodyScenarioBehavior_feature = Loop Body Scenario Behavior
+_UI_LoopUserAction_loopIterationCountDistribution_feature = Loop Iteration Count Distribution
+_UI_DelayUserAction_timeSpecification_feature = Time Specification
+_UI_BranchUserAction_branches_feature = Branches
+_UI_BranchUserAction_branchUserProbabilities_feature = Branch User Probabilities
+_UI_CallParameterSetting_type = Call Parameter Setting
+_UI_EntryLevelSystemCall_inputParameterSettings_feature = Input Parameter Settings
+_UI_CallParameterSetting_name_feature = Name
+_UI_CallParameterSetting_characterization_feature = Characterization
+_UI_CallParameterSetting_value_feature = Value
+_UI_Workload_systems_feature = Systems
+_UI_Workload_system_feature = System
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml b/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b067c3ad7102059dbfb9dc7f9a16089426bf6881
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <factory
+            uri="http://www.descartes-research.net/metamodel/workload/0.1"
+            class="edu.kit.ipd.descartes.mm.workload.workload.provider.WorkloadItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e58518336ba6f4b3cac316acebaa03bf13a0b18d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+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.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.AbstractUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractUserActionItemProvider
+	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 AbstractUserActionItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_AbstractUserAction_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);
+	}
+
+	/**
+	 * 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..5ac78836e02860b79dea9a06afea5b9f31fb41a3
--- /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);
+
+			addProvidedRolePropertyDescriptor(object);
+			addSignaturePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Provided Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidedRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EntryLevelSystemCall_providedRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EntryLevelSystemCall_providedRole_feature", "_UI_EntryLevelSystemCall_type"),
+				 WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__PROVIDED_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..c0f2c2609825e63394a498beaced0e07eba30255
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java
@@ -0,0 +1,193 @@
+/**
+ * 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.createStartUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createStopUserAction()));
+
+		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/StartUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..19a9ac385bc4310b26d49efee33d03d5a0d16b30
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+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.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.StartUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StartUserActionItemProvider
+	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 StartUserActionItemProvider(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 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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_StartUserAction_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/StopUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f010331f5a1181ec120334f3f1ef305b51b3313
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+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.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.StopUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StopUserActionItemProvider
+	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 StopUserActionItemProvider(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 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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_StopUserAction_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/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..b858bc71cbb26cd6b4b205c43f7c12e1384348de
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java
@@ -0,0 +1,464 @@
+/**
+ * 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.StartUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StartUserActionItemProvider startUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.StartUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createStartUserActionAdapter() {
+		if (startUserActionItemProvider == null) {
+			startUserActionItemProvider = new StartUserActionItemProvider(this);
+		}
+
+		return startUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.StopUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StopUserActionItemProvider stopUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.StopUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createStopUserActionAdapter() {
+		if (stopUserActionItemProvider == null) {
+			stopUserActionItemProvider = new StopUserActionItemProvider(this);
+		}
+
+		return stopUserActionItemProvider;
+	}
+
+	/**
+	 * 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 (startUserActionItemProvider != null) startUserActionItemProvider.dispose();
+		if (stopUserActionItemProvider != null) stopUserActionItemProvider.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/WorkloadTypeItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5b5d519f684b619f773ec8e29730e068980ff96
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
@@ -0,0 +1,109 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+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.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.WorkloadType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WorkloadTypeItemProvider
+	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 WorkloadTypeItemProvider(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 returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_WorkloadType_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}