Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/ARFFxResourceTool.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/ARFFxResourceTool.java	(revision 35)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/ARFFxResourceTool.java	(revision 36)
@@ -4,6 +4,6 @@
 import org.eclipse.emf.ecore.util.EObjectValidator;
 
-import ARFFx.ARFFxPackage;
-import ARFFx.impl.ARFFxPackageImpl;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ARFFxPackageImpl;
 
 /**
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/DECENTEpsilonModelHandler.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/DECENTEpsilonModelHandler.java	(revision 35)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/DECENTEpsilonModelHandler.java	(revision 36)
@@ -13,6 +13,6 @@
 import org.eclipse.epsilon.eol.models.IModel;
 
-import ARFFx.ARFFxPackage;
-import DECENT.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
 
 /**
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/DECENTResourceTool.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/DECENTResourceTool.java	(revision 35)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/DECENTResourceTool.java	(revision 36)
@@ -4,7 +4,7 @@
 import org.eclipse.emf.ecore.util.EObjectValidator;
 
-import DECENT.DECENTPackage;
-import DECENT.impl.DECENTPackageImpl;
-import DECENT.util.DECENTResourceFactoryImpl;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.impl.DECENTPackageImpl;
+import de.ugoe.cs.cpdp.decentApp.models.decent.util.DECENTResourceFactoryImpl;
 
 /**
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/ARFFxFactory.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/ARFFxFactory.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/ARFFxFactory.java	(revision 36)
@@ -0,0 +1,87 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage
+ * @generated
+ */
+public interface ARFFxFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ARFFxFactory eINSTANCE = de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ARFFxFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Model</em>'.
+	 * @generated
+	 */
+	Model createModel();
+
+	/**
+	 * Returns a new object of class '<em>Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Attribute</em>'.
+	 * @generated
+	 */
+	Attribute createAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Instance</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Instance</em>'.
+	 * @generated
+	 */
+	Instance createInstance();
+
+	/**
+	 * Returns a new object of class '<em>Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Value</em>'.
+	 * @generated
+	 */
+	Value createValue();
+
+	/**
+	 * Returns a new object of class '<em>Dimension</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dimension</em>'.
+	 * @generated
+	 */
+	Dimension createDimension();
+
+	/**
+	 * Returns a new object of class '<em>Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Type</em>'.
+	 * @generated
+	 */
+	Type createType();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ARFFxPackage getARFFxPackage();
+
+} //ARFFxFactory
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/ARFFxPackage.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/ARFFxPackage.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/ARFFxPackage.java	(revision 36)
@@ -0,0 +1,872 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/OCL/Import ecore='http://www.eclipse.org/emf/2002/Ecore#/'"
+ * @generated
+ */
+public interface ARFFxPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "ARFFx";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://ARFFx/1.0";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "ARFFx";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	ARFFxPackage eINSTANCE = de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ARFFxPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.ModelImpl <em>Model</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.ModelImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getModel()
+	 * @generated
+	 */
+	int MODEL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Meta</b></em>' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__META = 1;
+
+	/**
+	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__ATTRIBUTES = 2;
+
+	/**
+	 * The feature id for the '<em><b>Data</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__DATA = 3;
+
+	/**
+	 * The feature id for the '<em><b>Dimensions</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__DIMENSIONS = 4;
+
+	/**
+	 * The feature id for the '<em><b>Types</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__TYPES = 5;
+
+	/**
+	 * The number of structural features of the '<em>Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL_FEATURE_COUNT = 6;
+
+	/**
+	 * The number of operations of the '<em>Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.AttributeImpl <em>Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.AttributeImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getAttribute()
+	 * @generated
+	 */
+	int ATTRIBUTE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__TYPE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Dimension</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__DIMENSION = 2;
+
+	/**
+	 * The number of structural features of the '<em>Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.InstanceImpl <em>Instance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.InstanceImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getInstance()
+	 * @generated
+	 */
+	int INSTANCE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE__VALUES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Instance</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Instance</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.ValueImpl <em>Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.ValueImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getValue()
+	 * @generated
+	 */
+	int VALUE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE__OF_ATTRIBUTE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE__CONTENT = 1;
+
+	/**
+	 * The number of structural features of the '<em>Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.DimensionImpl <em>Dimension</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.DimensionImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getDimension()
+	 * @generated
+	 */
+	int DIMENSION = 4;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION__NAME = 0;
+
+	/**
+	 * The number of structural features of the '<em>Dimension</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Dimension</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.TypeImpl <em>Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.TypeImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getType()
+	 * @generated
+	 */
+	int TYPE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__NAME = 0;
+
+	/**
+	 * The number of structural features of the '<em>Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link ARFFx.impl.MetaDataImpl <em>Meta Data</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see ARFFx.impl.MetaDataImpl
+	 * @see ARFFx.impl.ARFFxPackageImpl#getMetaData()
+	 * @generated
+	 */
+	int META_DATA = 6;
+
+	/**
+	 * The feature id for the '<em><b>Key</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int META_DATA__KEY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int META_DATA__VALUE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Meta Data</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int META_DATA_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Meta Data</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int META_DATA_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model <em>Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Model</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model
+	 * @generated
+	 */
+	EClass getModel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getName()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EAttribute getModel_Name();
+
+	/**
+	 * Returns the meta object for the map '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getMeta <em>Meta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the map '<em>Meta</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getMeta()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Meta();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getAttributes <em>Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Attributes</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getAttributes()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Attributes();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getData <em>Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Data</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getData()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Data();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getDimensions <em>Dimensions</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Dimensions</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getDimensions()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Dimensions();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getTypes <em>Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Types</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getTypes()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Types();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute <em>Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Attribute</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute
+	 * @generated
+	 */
+	EClass getAttribute();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getName()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EAttribute getAttribute_Name();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getType()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EReference getAttribute_Type();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getDimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Dimension</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getDimension()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EReference getAttribute_Dimension();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Instance <em>Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Instance</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Instance
+	 * @generated
+	 */
+	EClass getInstance();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Instance#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Values</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Instance#getValues()
+	 * @see #getInstance()
+	 * @generated
+	 */
+	EReference getInstance_Values();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Value
+	 * @generated
+	 */
+	EClass getValue();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getOfAttribute <em>Of Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Of Attribute</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getOfAttribute()
+	 * @see #getValue()
+	 * @generated
+	 */
+	EReference getValue_OfAttribute();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getContent()
+	 * @see #getValue()
+	 * @generated
+	 */
+	EAttribute getValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dimension</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension
+	 * @generated
+	 */
+	EClass getDimension();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension#getName()
+	 * @see #getDimension()
+	 * @generated
+	 */
+	EAttribute getDimension_Name();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Type <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Type
+	 * @generated
+	 */
+	EClass getType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Type#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Type#getName()
+	 * @see #getType()
+	 * @generated
+	 */
+	EAttribute getType_Name();
+
+	/**
+	 * Returns the meta object for class '{@link java.util.Map.Entry <em>Meta Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Meta Data</em>'.
+	 * @see java.util.Map.Entry
+	 * @model keyDataType="org.eclipse.emf.ecore.EString" keyRequired="true"
+	 *        valueDataType="org.eclipse.emf.ecore.EString"
+	 * @generated
+	 */
+	EClass getMetaData();
+
+	/**
+	 * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Key</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Key</em>'.
+	 * @see java.util.Map.Entry
+	 * @see #getMetaData()
+	 * @generated
+	 */
+	EAttribute getMetaData_Key();
+
+	/**
+	 * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see java.util.Map.Entry
+	 * @see #getMetaData()
+	 * @generated
+	 */
+	EAttribute getMetaData_Value();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ARFFxFactory getARFFxFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.ModelImpl <em>Model</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.ModelImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getModel()
+		 * @generated
+		 */
+		EClass MODEL = eINSTANCE.getModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MODEL__NAME = eINSTANCE.getModel_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Meta</b></em>' map feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__META = eINSTANCE.getModel_Meta();
+
+		/**
+		 * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__ATTRIBUTES = eINSTANCE.getModel_Attributes();
+
+		/**
+		 * The meta object literal for the '<em><b>Data</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__DATA = eINSTANCE.getModel_Data();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimensions</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__DIMENSIONS = eINSTANCE.getModel_Dimensions();
+
+		/**
+		 * The meta object literal for the '<em><b>Types</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__TYPES = eINSTANCE.getModel_Types();
+
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.AttributeImpl <em>Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.AttributeImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getAttribute()
+		 * @generated
+		 */
+		EClass ATTRIBUTE = eINSTANCE.getAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ATTRIBUTE__NAME = eINSTANCE.getAttribute_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ATTRIBUTE__TYPE = eINSTANCE.getAttribute_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimension</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ATTRIBUTE__DIMENSION = eINSTANCE.getAttribute_Dimension();
+
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.InstanceImpl <em>Instance</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.InstanceImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getInstance()
+		 * @generated
+		 */
+		EClass INSTANCE = eINSTANCE.getInstance();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference INSTANCE__VALUES = eINSTANCE.getInstance_Values();
+
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.ValueImpl <em>Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.ValueImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getValue()
+		 * @generated
+		 */
+		EClass VALUE = eINSTANCE.getValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Of Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VALUE__OF_ATTRIBUTE = eINSTANCE.getValue_OfAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VALUE__CONTENT = eINSTANCE.getValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.DimensionImpl <em>Dimension</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.DimensionImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getDimension()
+		 * @generated
+		 */
+		EClass DIMENSION = eINSTANCE.getDimension();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DIMENSION__NAME = eINSTANCE.getDimension_Name();
+
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.TypeImpl <em>Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.TypeImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getType()
+		 * @generated
+		 */
+		EClass TYPE = eINSTANCE.getType();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TYPE__NAME = eINSTANCE.getType_Name();
+
+		/**
+		 * The meta object literal for the '{@link ARFFx.impl.MetaDataImpl <em>Meta Data</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see ARFFx.impl.MetaDataImpl
+		 * @see ARFFx.impl.ARFFxPackageImpl#getMetaData()
+		 * @generated
+		 */
+		EClass META_DATA = eINSTANCE.getMetaData();
+
+		/**
+		 * The meta object literal for the '<em><b>Key</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute META_DATA__KEY = eINSTANCE.getMetaData_Key();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute META_DATA__VALUE = eINSTANCE.getMetaData_Value();
+
+	}
+
+} //ARFFxPackage
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Attribute.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Attribute.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Attribute.java	(revision 36)
@@ -0,0 +1,104 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getAttribute()
+ * @model
+ * @generated
+ */
+public interface Attribute extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getAttribute_Name()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' reference.
+	 * @see #setType(Type)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getAttribute_Type()
+	 * @model
+	 * @generated
+	 */
+	Type getType();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getType <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' reference.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(Type value);
+
+	/**
+	 * Returns the value of the '<em><b>Dimension</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimension</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dimension</em>' reference.
+	 * @see #setDimension(Dimension)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getAttribute_Dimension()
+	 * @model
+	 * @generated
+	 */
+	Dimension getDimension();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute#getDimension <em>Dimension</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Dimension</em>' reference.
+	 * @see #getDimension()
+	 * @generated
+	 */
+	void setDimension(Dimension value);
+
+} // Attribute
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Dimension.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Dimension.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Dimension.java	(revision 36)
@@ -0,0 +1,50 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dimension</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getDimension()
+ * @model
+ * @generated
+ */
+public interface Dimension extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getDimension_Name()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+} // Dimension
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Instance.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Instance.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Instance.java	(revision 36)
@@ -0,0 +1,42 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Instance#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getInstance()
+ * @model
+ * @generated
+ */
+public interface Instance extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getInstance_Values()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Value> getValues();
+
+} // Instance
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Model.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Model.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Model.java	(revision 36)
@@ -0,0 +1,139 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getMeta <em>Meta</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getData <em>Data</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getDimensions <em>Dimensions</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getTypes <em>Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel()
+ * @model
+ * @generated
+ */
+public interface Model extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel_Name()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Meta</b></em>' map.
+	 * The key is of type {@link java.lang.String},
+	 * and the value is of type {@link java.lang.String},
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Meta</em>' map isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Meta</em>' map.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel_Meta()
+	 * @model mapType="ARFFx.MetaData<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>"
+	 * @generated
+	 */
+	EMap<String, String> getMeta();
+
+	/**
+	 * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attributes</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel_Attributes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Attribute> getAttributes();
+
+	/**
+	 * Returns the value of the '<em><b>Data</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.arffx.Instance}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Data</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Data</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel_Data()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Instance> getData();
+
+	/**
+	 * Returns the value of the '<em><b>Dimensions</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimensions</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dimensions</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel_Dimensions()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Dimension> getDimensions();
+
+	/**
+	 * Returns the value of the '<em><b>Types</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.arffx.Type}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Types</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Types</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getModel_Types()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Type> getTypes();
+
+} // Model
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Type.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Type.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Type.java	(revision 36)
@@ -0,0 +1,50 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Type#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getType()
+ * @model
+ * @generated
+ */
+public interface Type extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getType_Name()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Type#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+} // Type
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Value.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Value.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/Value.java	(revision 36)
@@ -0,0 +1,77 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getOfAttribute <em>Of Attribute</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getValue()
+ * @model
+ * @generated
+ */
+public interface Value extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Of Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Of Attribute</em>' reference.
+	 * @see #setOfAttribute(Attribute)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getValue_OfAttribute()
+	 * @model
+	 * @generated
+	 */
+	Attribute getOfAttribute();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getOfAttribute <em>Of Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Of Attribute</em>' reference.
+	 * @see #getOfAttribute()
+	 * @generated
+	 */
+	void setOfAttribute(Attribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute.
+	 * @see #setContent(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#getValue_Content()
+	 * @model
+	 * @generated
+	 */
+	String getContent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value#getContent <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Content</em>' attribute.
+	 * @see #getContent()
+	 * @generated
+	 */
+	void setContent(String value);
+
+} // Value
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ARFFxFactoryImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ARFFxFactoryImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ARFFxFactoryImpl.java	(revision 36)
@@ -0,0 +1,170 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.*;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxFactory;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Model;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ARFFxFactoryImpl extends EFactoryImpl implements ARFFxFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static ARFFxFactory init() {
+		try {
+			ARFFxFactory theARFFxFactory = (ARFFxFactory)EPackage.Registry.INSTANCE.getEFactory(ARFFxPackage.eNS_URI);
+			if (theARFFxFactory != null) {
+				return theARFFxFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ARFFxFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ARFFxFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case ARFFxPackage.MODEL: return createModel();
+			case ARFFxPackage.ATTRIBUTE: return createAttribute();
+			case ARFFxPackage.INSTANCE: return createInstance();
+			case ARFFxPackage.VALUE: return createValue();
+			case ARFFxPackage.DIMENSION: return createDimension();
+			case ARFFxPackage.TYPE: return createType();
+			case ARFFxPackage.META_DATA: return (EObject)createMetaData();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Model createModel() {
+		ModelImpl model = new ModelImpl();
+		return model;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute createAttribute() {
+		AttributeImpl attribute = new AttributeImpl();
+		return attribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Instance createInstance() {
+		InstanceImpl instance = new InstanceImpl();
+		return instance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Value createValue() {
+		ValueImpl value = new ValueImpl();
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dimension createDimension() {
+		DimensionImpl dimension = new DimensionImpl();
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Type createType() {
+		TypeImpl type = new TypeImpl();
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Map.Entry<String, String> createMetaData() {
+		MetaDataImpl metaData = new MetaDataImpl();
+		return metaData;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ARFFxPackage getARFFxPackage() {
+		return (ARFFxPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ARFFxPackage getPackage() {
+		return ARFFxPackage.eINSTANCE;
+	}
+
+} //ARFFxFactoryImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ARFFxPackageImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ARFFxPackageImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ARFFxPackageImpl.java	(revision 36)
@@ -0,0 +1,489 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxFactory;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Model;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ARFFxPackageImpl extends EPackageImpl implements ARFFxPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass modelEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass attributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass instanceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass valueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dimensionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass typeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass metaDataEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ARFFxPackageImpl() {
+		super(eNS_URI, ARFFxFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link ARFFxPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ARFFxPackage init() {
+		if (isInited) return (ARFFxPackage)EPackage.Registry.INSTANCE.getEPackage(ARFFxPackage.eNS_URI);
+
+		// Obtain or create and register package
+		ARFFxPackageImpl theARFFxPackage = (ARFFxPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ARFFxPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ARFFxPackageImpl());
+
+		isInited = true;
+
+		// Create package meta-data objects
+		theARFFxPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theARFFxPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theARFFxPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ARFFxPackage.eNS_URI, theARFFxPackage);
+		return theARFFxPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getModel() {
+		return modelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getModel_Name() {
+		return (EAttribute)modelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Meta() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Attributes() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Data() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Dimensions() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Types() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAttribute() {
+		return attributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAttribute_Name() {
+		return (EAttribute)attributeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAttribute_Type() {
+		return (EReference)attributeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAttribute_Dimension() {
+		return (EReference)attributeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getInstance() {
+		return instanceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getInstance_Values() {
+		return (EReference)instanceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getValue() {
+		return valueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getValue_OfAttribute() {
+		return (EReference)valueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getValue_Content() {
+		return (EAttribute)valueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDimension() {
+		return dimensionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDimension_Name() {
+		return (EAttribute)dimensionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getType() {
+		return typeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getType_Name() {
+		return (EAttribute)typeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMetaData() {
+		return metaDataEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetaData_Key() {
+		return (EAttribute)metaDataEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetaData_Value() {
+		return (EAttribute)metaDataEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ARFFxFactory getARFFxFactory() {
+		return (ARFFxFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		modelEClass = createEClass(MODEL);
+		createEAttribute(modelEClass, MODEL__NAME);
+		createEReference(modelEClass, MODEL__META);
+		createEReference(modelEClass, MODEL__ATTRIBUTES);
+		createEReference(modelEClass, MODEL__DATA);
+		createEReference(modelEClass, MODEL__DIMENSIONS);
+		createEReference(modelEClass, MODEL__TYPES);
+
+		attributeEClass = createEClass(ATTRIBUTE);
+		createEAttribute(attributeEClass, ATTRIBUTE__NAME);
+		createEReference(attributeEClass, ATTRIBUTE__TYPE);
+		createEReference(attributeEClass, ATTRIBUTE__DIMENSION);
+
+		instanceEClass = createEClass(INSTANCE);
+		createEReference(instanceEClass, INSTANCE__VALUES);
+
+		valueEClass = createEClass(VALUE);
+		createEReference(valueEClass, VALUE__OF_ATTRIBUTE);
+		createEAttribute(valueEClass, VALUE__CONTENT);
+
+		dimensionEClass = createEClass(DIMENSION);
+		createEAttribute(dimensionEClass, DIMENSION__NAME);
+
+		typeEClass = createEClass(TYPE);
+		createEAttribute(typeEClass, TYPE__NAME);
+
+		metaDataEClass = createEClass(META_DATA);
+		createEAttribute(metaDataEClass, META_DATA__KEY);
+		createEAttribute(metaDataEClass, META_DATA__VALUE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getModel_Name(), ecorePackage.getEString(), "name", null, 1, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Meta(), this.getMetaData(), null, "meta", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Attributes(), this.getAttribute(), null, "attributes", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Data(), this.getInstance(), null, "data", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Dimensions(), this.getDimension(), null, "dimensions", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Types(), this.getType(), null, "types", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAttribute_Name(), ecorePackage.getEString(), "name", null, 1, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAttribute_Type(), this.getType(), null, "type", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAttribute_Dimension(), this.getDimension(), null, "dimension", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(instanceEClass, Instance.class, "Instance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getInstance_Values(), this.getValue(), null, "values", null, 0, -1, Instance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(valueEClass, Value.class, "Value", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getValue_OfAttribute(), this.getAttribute(), null, "ofAttribute", null, 0, 1, Value.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getValue_Content(), ecorePackage.getEString(), "content", null, 0, 1, Value.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(dimensionEClass, Dimension.class, "Dimension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDimension_Name(), ecorePackage.getEString(), "name", null, 1, 1, Dimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(typeEClass, Type.class, "Type", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getType_Name(), ecorePackage.getEString(), "name", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(metaDataEClass, Map.Entry.class, "MetaData", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getMetaData_Key(), ecorePackage.getEString(), "key", null, 1, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getMetaData_Value(), ecorePackage.getEString(), "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/OCL/Import
+		createImportAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/OCL/Import</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createImportAnnotations() {
+		String source = "http://www.eclipse.org/OCL/Import";	
+		addAnnotation
+		  (this, 
+		   source, 
+		   new String[] {
+			 "ecore", "http://www.eclipse.org/emf/2002/Ecore#/"
+		   });
+	}
+
+} //ARFFxPackageImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/AttributeImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/AttributeImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/AttributeImpl.java	(revision 36)
@@ -0,0 +1,284 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.AttributeImpl#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.AttributeImpl#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.AttributeImpl#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeImpl extends MinimalEObjectImpl.Container implements Attribute {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected Type type;
+
+	/**
+	 * The cached value of the '{@link #getDimension() <em>Dimension</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDimension()
+	 * @generated
+	 * @ordered
+	 */
+	protected Dimension dimension;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.ATTRIBUTE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.ATTRIBUTE__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Type getType() {
+		if (type != null && type.eIsProxy()) {
+			InternalEObject oldType = (InternalEObject)type;
+			type = (Type)eResolveProxy(oldType);
+			if (type != oldType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ARFFxPackage.ATTRIBUTE__TYPE, oldType, type));
+			}
+		}
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Type basicGetType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(Type newType) {
+		Type oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.ATTRIBUTE__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dimension getDimension() {
+		if (dimension != null && dimension.eIsProxy()) {
+			InternalEObject oldDimension = (InternalEObject)dimension;
+			dimension = (Dimension)eResolveProxy(oldDimension);
+			if (dimension != oldDimension) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ARFFxPackage.ATTRIBUTE__DIMENSION, oldDimension, dimension));
+			}
+		}
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dimension basicGetDimension() {
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDimension(Dimension newDimension) {
+		Dimension oldDimension = dimension;
+		dimension = newDimension;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.ATTRIBUTE__DIMENSION, oldDimension, dimension));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.ATTRIBUTE__NAME:
+				return getName();
+			case ARFFxPackage.ATTRIBUTE__TYPE:
+				if (resolve) return getType();
+				return basicGetType();
+			case ARFFxPackage.ATTRIBUTE__DIMENSION:
+				if (resolve) return getDimension();
+				return basicGetDimension();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.ATTRIBUTE__NAME:
+				setName((String)newValue);
+				return;
+			case ARFFxPackage.ATTRIBUTE__TYPE:
+				setType((Type)newValue);
+				return;
+			case ARFFxPackage.ATTRIBUTE__DIMENSION:
+				setDimension((Dimension)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.ATTRIBUTE__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ARFFxPackage.ATTRIBUTE__TYPE:
+				setType((Type)null);
+				return;
+			case ARFFxPackage.ATTRIBUTE__DIMENSION:
+				setDimension((Dimension)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.ATTRIBUTE__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ARFFxPackage.ATTRIBUTE__TYPE:
+				return type != null;
+			case ARFFxPackage.ATTRIBUTE__DIMENSION:
+				return dimension != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AttributeImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/DimensionImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/DimensionImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/DimensionImpl.java	(revision 36)
@@ -0,0 +1,161 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dimension</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.DimensionImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DimensionImpl extends MinimalEObjectImpl.Container implements Dimension {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DimensionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.DIMENSION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.DIMENSION__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.DIMENSION__NAME:
+				return getName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.DIMENSION__NAME:
+				setName((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.DIMENSION__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.DIMENSION__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DimensionImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/InstanceImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/InstanceImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/InstanceImpl.java	(revision 36)
@@ -0,0 +1,148 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Instance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.InstanceImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InstanceImpl extends MinimalEObjectImpl.Container implements Instance {
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Value> values;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InstanceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.INSTANCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Value> getValues() {
+		if (values == null) {
+			values = new EObjectContainmentEList<Value>(Value.class, this, ARFFxPackage.INSTANCE__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ARFFxPackage.INSTANCE__VALUES:
+				return ((InternalEList<?>)getValues()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.INSTANCE__VALUES:
+				return getValues();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.INSTANCE__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends Value>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.INSTANCE__VALUES:
+				getValues().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.INSTANCE__VALUES:
+				return values != null && !values.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //InstanceImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/MetaDataImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/MetaDataImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/MetaDataImpl.java	(revision 36)
@@ -0,0 +1,295 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Meta Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.MetaDataImpl#getTypedKey <em>Key</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.MetaDataImpl#getTypedValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MetaDataImpl extends MinimalEObjectImpl.Container implements BasicEMap.Entry<String,String> {
+	/**
+	 * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypedKey()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String KEY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypedKey()
+	 * @generated
+	 * @ordered
+	 */
+	protected String key = KEY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypedValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTypedValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypedValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MetaDataImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.META_DATA;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTypedKey() {
+		return key;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTypedKey(String newKey) {
+		String oldKey = key;
+		key = newKey;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.META_DATA__KEY, oldKey, key));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTypedValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTypedValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.META_DATA__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.META_DATA__KEY:
+				return getTypedKey();
+			case ARFFxPackage.META_DATA__VALUE:
+				return getTypedValue();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.META_DATA__KEY:
+				setTypedKey((String)newValue);
+				return;
+			case ARFFxPackage.META_DATA__VALUE:
+				setTypedValue((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.META_DATA__KEY:
+				setTypedKey(KEY_EDEFAULT);
+				return;
+			case ARFFxPackage.META_DATA__VALUE:
+				setTypedValue(VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.META_DATA__KEY:
+				return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+			case ARFFxPackage.META_DATA__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (key: ");
+		result.append(key);
+		result.append(", value: ");
+		result.append(value);
+		result.append(')');
+		return result.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected int hash = -1;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getHash() {
+		if (hash == -1) {
+			Object theKey = getKey();
+			hash = (theKey == null ? 0 : theKey.hashCode());
+		}
+		return hash;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setHash(int hash) {
+		this.hash = hash;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getKey() {
+		return getTypedKey();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setKey(String key) {
+		setTypedKey(key);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return getTypedValue();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String setValue(String value) {
+		String oldValue = getValue();
+		setTypedValue(value);
+		return oldValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public EMap<String, String> getEMap() {
+		EObject container = eContainer();
+		return container == null ? null : (EMap<String, String>)container.eGet(eContainmentFeature());
+	}
+
+} //MetaDataImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ModelImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ModelImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ModelImpl.java	(revision 36)
@@ -0,0 +1,368 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Model;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ModelImpl#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ModelImpl#getMeta <em>Meta</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ModelImpl#getAttributes <em>Attributes</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ModelImpl#getData <em>Data</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ModelImpl#getDimensions <em>Dimensions</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ModelImpl#getTypes <em>Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getMeta() <em>Meta</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMeta()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap<String, String> meta;
+
+	/**
+	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Attribute> attributes;
+
+	/**
+	 * The cached value of the '{@link #getData() <em>Data</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getData()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Instance> data;
+
+	/**
+	 * The cached value of the '{@link #getDimensions() <em>Dimensions</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDimensions()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Dimension> dimensions;
+
+	/**
+	 * The cached value of the '{@link #getTypes() <em>Types</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Type> types;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ModelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.MODEL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.MODEL__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap<String, String> getMeta() {
+		if (meta == null) {
+			meta = new EcoreEMap<String,String>(ARFFxPackage.Literals.META_DATA, MetaDataImpl.class, this, ARFFxPackage.MODEL__META);
+		}
+		return meta;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Attribute> getAttributes() {
+		if (attributes == null) {
+			attributes = new EObjectContainmentEList<Attribute>(Attribute.class, this, ARFFxPackage.MODEL__ATTRIBUTES);
+		}
+		return attributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Instance> getData() {
+		if (data == null) {
+			data = new EObjectContainmentEList<Instance>(Instance.class, this, ARFFxPackage.MODEL__DATA);
+		}
+		return data;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Dimension> getDimensions() {
+		if (dimensions == null) {
+			dimensions = new EObjectContainmentEList<Dimension>(Dimension.class, this, ARFFxPackage.MODEL__DIMENSIONS);
+		}
+		return dimensions;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Type> getTypes() {
+		if (types == null) {
+			types = new EObjectContainmentEList<Type>(Type.class, this, ARFFxPackage.MODEL__TYPES);
+		}
+		return types;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ARFFxPackage.MODEL__META:
+				return ((InternalEList<?>)getMeta()).basicRemove(otherEnd, msgs);
+			case ARFFxPackage.MODEL__ATTRIBUTES:
+				return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+			case ARFFxPackage.MODEL__DATA:
+				return ((InternalEList<?>)getData()).basicRemove(otherEnd, msgs);
+			case ARFFxPackage.MODEL__DIMENSIONS:
+				return ((InternalEList<?>)getDimensions()).basicRemove(otherEnd, msgs);
+			case ARFFxPackage.MODEL__TYPES:
+				return ((InternalEList<?>)getTypes()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.MODEL__NAME:
+				return getName();
+			case ARFFxPackage.MODEL__META:
+				if (coreType) return getMeta();
+				else return getMeta().map();
+			case ARFFxPackage.MODEL__ATTRIBUTES:
+				return getAttributes();
+			case ARFFxPackage.MODEL__DATA:
+				return getData();
+			case ARFFxPackage.MODEL__DIMENSIONS:
+				return getDimensions();
+			case ARFFxPackage.MODEL__TYPES:
+				return getTypes();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.MODEL__NAME:
+				setName((String)newValue);
+				return;
+			case ARFFxPackage.MODEL__META:
+				((EStructuralFeature.Setting)getMeta()).set(newValue);
+				return;
+			case ARFFxPackage.MODEL__ATTRIBUTES:
+				getAttributes().clear();
+				getAttributes().addAll((Collection<? extends Attribute>)newValue);
+				return;
+			case ARFFxPackage.MODEL__DATA:
+				getData().clear();
+				getData().addAll((Collection<? extends Instance>)newValue);
+				return;
+			case ARFFxPackage.MODEL__DIMENSIONS:
+				getDimensions().clear();
+				getDimensions().addAll((Collection<? extends Dimension>)newValue);
+				return;
+			case ARFFxPackage.MODEL__TYPES:
+				getTypes().clear();
+				getTypes().addAll((Collection<? extends Type>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.MODEL__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ARFFxPackage.MODEL__META:
+				getMeta().clear();
+				return;
+			case ARFFxPackage.MODEL__ATTRIBUTES:
+				getAttributes().clear();
+				return;
+			case ARFFxPackage.MODEL__DATA:
+				getData().clear();
+				return;
+			case ARFFxPackage.MODEL__DIMENSIONS:
+				getDimensions().clear();
+				return;
+			case ARFFxPackage.MODEL__TYPES:
+				getTypes().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.MODEL__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ARFFxPackage.MODEL__META:
+				return meta != null && !meta.isEmpty();
+			case ARFFxPackage.MODEL__ATTRIBUTES:
+				return attributes != null && !attributes.isEmpty();
+			case ARFFxPackage.MODEL__DATA:
+				return data != null && !data.isEmpty();
+			case ARFFxPackage.MODEL__DIMENSIONS:
+				return dimensions != null && !dimensions.isEmpty();
+			case ARFFxPackage.MODEL__TYPES:
+				return types != null && !types.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ModelImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/TypeImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/TypeImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/TypeImpl.java	(revision 36)
@@ -0,0 +1,161 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.TypeImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TypeImpl extends MinimalEObjectImpl.Container implements Type {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.TYPE__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.TYPE__NAME:
+				return getName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.TYPE__NAME:
+				setName((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.TYPE__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.TYPE__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //TypeImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/impl/ValueImpl.java	(revision 36)
@@ -0,0 +1,223 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ValueImpl#getOfAttribute <em>Of Attribute</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.arffx.impl.ValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ValueImpl extends MinimalEObjectImpl.Container implements Value {
+	/**
+	 * The cached value of the '{@link #getOfAttribute() <em>Of Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOfAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected Attribute ofAttribute;
+
+	/**
+	 * The default value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONTENT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected String content = CONTENT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ARFFxPackage.Literals.VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute getOfAttribute() {
+		if (ofAttribute != null && ofAttribute.eIsProxy()) {
+			InternalEObject oldOfAttribute = (InternalEObject)ofAttribute;
+			ofAttribute = (Attribute)eResolveProxy(oldOfAttribute);
+			if (ofAttribute != oldOfAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ARFFxPackage.VALUE__OF_ATTRIBUTE, oldOfAttribute, ofAttribute));
+			}
+		}
+		return ofAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute basicGetOfAttribute() {
+		return ofAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOfAttribute(Attribute newOfAttribute) {
+		Attribute oldOfAttribute = ofAttribute;
+		ofAttribute = newOfAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.VALUE__OF_ATTRIBUTE, oldOfAttribute, ofAttribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getContent() {
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContent(String newContent) {
+		String oldContent = content;
+		content = newContent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ARFFxPackage.VALUE__CONTENT, oldContent, content));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ARFFxPackage.VALUE__OF_ATTRIBUTE:
+				if (resolve) return getOfAttribute();
+				return basicGetOfAttribute();
+			case ARFFxPackage.VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ARFFxPackage.VALUE__OF_ATTRIBUTE:
+				setOfAttribute((Attribute)newValue);
+				return;
+			case ARFFxPackage.VALUE__CONTENT:
+				setContent((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.VALUE__OF_ATTRIBUTE:
+				setOfAttribute((Attribute)null);
+				return;
+			case ARFFxPackage.VALUE__CONTENT:
+				setContent(CONTENT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ARFFxPackage.VALUE__OF_ATTRIBUTE:
+				return ofAttribute != null;
+			case ARFFxPackage.VALUE__CONTENT:
+				return CONTENT_EDEFAULT == null ? content != null : !CONTENT_EDEFAULT.equals(content);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/util/ARFFxAdapterFactory.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/util/ARFFxAdapterFactory.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/util/ARFFxAdapterFactory.java	(revision 36)
@@ -0,0 +1,236 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.util;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.*;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Model;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage
+ * @generated
+ */
+public class ARFFxAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ARFFxPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ARFFxAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ARFFxPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ARFFxSwitch<Adapter> modelSwitch =
+		new ARFFxSwitch<Adapter>() {
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter caseAttribute(Attribute object) {
+				return createAttributeAdapter();
+			}
+			@Override
+			public Adapter caseInstance(Instance object) {
+				return createInstanceAdapter();
+			}
+			@Override
+			public Adapter caseValue(Value object) {
+				return createValueAdapter();
+			}
+			@Override
+			public Adapter caseDimension(Dimension object) {
+				return createDimensionAdapter();
+			}
+			@Override
+			public Adapter caseType(Type object) {
+				return createTypeAdapter();
+			}
+			@Override
+			public Adapter caseMetaData(Map.Entry<String, String> object) {
+				return createMetaDataAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Model <em>Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute <em>Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute
+	 * @generated
+	 */
+	public Adapter createAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Instance <em>Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Instance
+	 * @generated
+	 */
+	public Adapter createInstanceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Value <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Value
+	 * @generated
+	 */
+	public Adapter createValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension
+	 * @generated
+	 */
+	public Adapter createDimensionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.arffx.Type <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.arffx.Type
+	 * @generated
+	 */
+	public Adapter createTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>Meta Data</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see java.util.Map.Entry
+	 * @generated
+	 */
+	public Adapter createMetaDataAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //ARFFxAdapterFactory
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/util/ARFFxSwitch.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/util/ARFFxSwitch.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/arffx/util/ARFFxSwitch.java	(revision 36)
@@ -0,0 +1,245 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.arffx.util;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.*;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+
+import de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Model;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Type;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.arffx.ARFFxPackage
+ * @generated
+ */
+public class ARFFxSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static ARFFxPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ARFFxSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ARFFxPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case ARFFxPackage.MODEL: {
+				Model model = (Model)theEObject;
+				T result = caseModel(model);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ARFFxPackage.ATTRIBUTE: {
+				Attribute attribute = (Attribute)theEObject;
+				T result = caseAttribute(attribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ARFFxPackage.INSTANCE: {
+				Instance instance = (Instance)theEObject;
+				T result = caseInstance(instance);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ARFFxPackage.VALUE: {
+				Value value = (Value)theEObject;
+				T result = caseValue(value);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ARFFxPackage.DIMENSION: {
+				Dimension dimension = (Dimension)theEObject;
+				T result = caseDimension(dimension);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ARFFxPackage.TYPE: {
+				Type type = (Type)theEObject;
+				T result = caseType(type);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case ARFFxPackage.META_DATA: {
+				@SuppressWarnings("unchecked") Map.Entry<String, String> metaData = (Map.Entry<String, String>)theEObject;
+				T result = caseMetaData(metaData);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAttribute(Attribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Instance</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Instance</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseInstance(Instance object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseValue(Value object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dimension</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dimension</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDimension(Dimension object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseType(Type object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Meta Data</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Meta Data</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMetaData(Map.Entry<String, String> object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //ARFFxSwitch
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Activity.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Activity.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Activity.java	(revision 36)
@@ -0,0 +1,221 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import java.util.Date;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Activity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgent <em>Agent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getState <em>State</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getTargetState <em>Target State</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDeltas <em>Deltas</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDate <em>Date</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getValues <em>Values</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgentState <em>Agent State</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity()
+ * @model
+ * @generated
+ */
+public interface Activity extends Element {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_Type()
+	 * @model
+	 * @generated
+	 */
+	EList<ActivityType> getType();
+
+	/**
+	 * Returns the value of the '<em><b>Agent</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getActivities <em>Activities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Agent</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent</em>' container reference.
+	 * @see #setAgent(Agent)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_Agent()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getActivities
+	 * @model opposite="activities" required="true" transient="false"
+	 * @generated
+	 */
+	Agent getAgent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgent <em>Agent</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent</em>' container reference.
+	 * @see #getAgent()
+	 * @generated
+	 */
+	void setAgent(Agent value);
+
+	/**
+	 * Returns the value of the '<em><b>State</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getActivity <em>Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>State</em>' reference.
+	 * @see #setState(State)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_State()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getActivity
+	 * @model opposite="activity" required="true"
+	 * @generated
+	 */
+	State getState();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getState <em>State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>State</em>' reference.
+	 * @see #getState()
+	 * @generated
+	 */
+	void setState(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Target State</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getFromActivity <em>From Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Target State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Target State</em>' reference.
+	 * @see #setTargetState(State)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_TargetState()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getFromActivity
+	 * @model opposite="fromActivity" required="true"
+	 * @generated
+	 */
+	State getTargetState();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getTargetState <em>Target State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Target State</em>' reference.
+	 * @see #getTargetState()
+	 * @generated
+	 */
+	void setTargetState(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Deltas</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getActivity <em>Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Deltas</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Deltas</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_Deltas()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getActivity
+	 * @model opposite="activity" containment="true"
+	 * @generated
+	 */
+	EList<Delta> getDeltas();
+
+	/**
+	 * Returns the value of the '<em><b>Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date</em>' attribute.
+	 * @see #setDate(Date)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_Date()
+	 * @model
+	 * @generated
+	 */
+	Date getDate();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDate <em>Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date</em>' attribute.
+	 * @see #getDate()
+	 * @generated
+	 */
+	void setDate(Date value);
+
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Value}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_Values()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Value> getValues();
+
+	/**
+	 * Returns the value of the '<em><b>Agent State</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getActivities <em>Activities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Agent State</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent State</em>' reference.
+	 * @see #setAgentState(AgentState)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivity_AgentState()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getActivities
+	 * @model opposite="activities"
+	 * @generated
+	 */
+	AgentState getAgentState();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgentState <em>Agent State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent State</em>' reference.
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	void setAgentState(AgentState value);
+
+} // Activity
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ActivityType.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ActivityType.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ActivityType.java	(revision 36)
@@ -0,0 +1,40 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Activity Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivityType()
+ * @model
+ * @generated
+ */
+public interface ActivityType extends Element {
+	/**
+	 * Returns the value of the '<em><b>Dimension</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Dimension}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimension</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dimension</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getActivityType_Dimension()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Dimension> getDimension();
+
+} // ActivityType
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Agent.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Agent.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Agent.java	(revision 36)
@@ -0,0 +1,117 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Agent</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getEMail <em>EMail</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getProjects <em>Projects</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getActivities <em>Activities</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getStates <em>States</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgent()
+ * @model
+ * @generated
+ */
+public interface Agent extends Element {
+	/**
+	 * Returns the value of the '<em><b>EMail</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>EMail</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>EMail</em>' attribute.
+	 * @see #setEMail(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgent_EMail()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getEMail();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getEMail <em>EMail</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>EMail</em>' attribute.
+	 * @see #getEMail()
+	 * @generated
+	 */
+	void setEMail(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Projects</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project#getAgents <em>Agents</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Projects</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Projects</em>' reference.
+	 * @see #setProjects(Project)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgent_Projects()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Project#getAgents
+	 * @model opposite="agents" required="true"
+	 * @generated
+	 */
+	Project getProjects();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getProjects <em>Projects</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Projects</em>' reference.
+	 * @see #getProjects()
+	 * @generated
+	 */
+	void setProjects(Project value);
+
+	/**
+	 * Returns the value of the '<em><b>Activities</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activities</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activities</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgent_Activities()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgent
+	 * @model opposite="agent" containment="true"
+	 * @generated
+	 */
+	EList<Activity> getActivities();
+
+	/**
+	 * Returns the value of the '<em><b>States</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getAgent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>States</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>States</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgent_States()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getAgent
+	 * @model opposite="agent" containment="true"
+	 * @generated
+	 */
+	EList<AgentState> getStates();
+
+} // Agent
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AgentPool.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AgentPool.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AgentPool.java	(revision 36)
@@ -0,0 +1,42 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Agent Pool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool#getAgents <em>Agents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentPool()
+ * @model
+ * @generated
+ */
+public interface AgentPool extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Agents</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Agents</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agents</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentPool_Agents()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Agent> getAgents();
+
+} // AgentPool
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AgentState.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AgentState.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AgentState.java	(revision 36)
@@ -0,0 +1,175 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import java.util.Date;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Agent State</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getDate <em>Date</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getAgent <em>Agent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getActivities <em>Activities</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getNext <em>Next</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getPrevious <em>Previous</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState()
+ * @model
+ * @generated
+ */
+public interface AgentState extends Element {
+	/**
+	 * Returns the value of the '<em><b>Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date</em>' attribute.
+	 * @see #setDate(Date)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState_Date()
+	 * @model
+	 * @generated
+	 */
+	Date getDate();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getDate <em>Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date</em>' attribute.
+	 * @see #getDate()
+	 * @generated
+	 */
+	void setDate(Date value);
+
+	/**
+	 * Returns the value of the '<em><b>Agent</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getStates <em>States</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Agent</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent</em>' container reference.
+	 * @see #setAgent(Agent)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState_Agent()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getStates
+	 * @model opposite="states" required="true" transient="false"
+	 * @generated
+	 */
+	Agent getAgent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getAgent <em>Agent</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent</em>' container reference.
+	 * @see #getAgent()
+	 * @generated
+	 */
+	void setAgent(Agent value);
+
+	/**
+	 * Returns the value of the '<em><b>Activities</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgentState <em>Agent State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activities</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activities</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState_Activities()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgentState
+	 * @model opposite="agentState"
+	 * @generated
+	 */
+	EList<Activity> getActivities();
+
+	/**
+	 * Returns the value of the '<em><b>Next</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getPrevious <em>Previous</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Next</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Next</em>' reference.
+	 * @see #setNext(AgentState)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState_Next()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getPrevious
+	 * @model opposite="previous"
+	 * @generated
+	 */
+	AgentState getNext();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getNext <em>Next</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Next</em>' reference.
+	 * @see #getNext()
+	 * @generated
+	 */
+	void setNext(AgentState value);
+
+	/**
+	 * Returns the value of the '<em><b>Previous</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getNext <em>Next</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Previous</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Previous</em>' reference.
+	 * @see #setPrevious(AgentState)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState_Previous()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getNext
+	 * @model opposite="next"
+	 * @generated
+	 */
+	AgentState getPrevious();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getPrevious <em>Previous</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Previous</em>' reference.
+	 * @see #getPrevious()
+	 * @generated
+	 */
+	void setPrevious(AgentState value);
+
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Value}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAgentState_Values()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Value> getValues();
+
+} // AgentState
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Artifact.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Artifact.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Artifact.java	(revision 36)
@@ -0,0 +1,135 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Artifact</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getParent <em>Parent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getChildren <em>Children</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getStates <em>States</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifact()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='typeHierarchy'"
+ *        annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot typeHierarchy='type.containerTypes->includes(parent.type) or parent = null'"
+ * @generated
+ */
+public interface Artifact extends Element {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' reference.
+	 * @see #setType(ArtifactType)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifact_Type()
+	 * @model
+	 * @generated
+	 */
+	ArtifactType getType();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getType <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' reference.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(ArtifactType value);
+
+	/**
+	 * Returns the value of the '<em><b>Parent</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getChildren <em>Children</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Parent</em>' container reference.
+	 * @see #setParent(Artifact)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifact_Parent()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getChildren
+	 * @model opposite="children" transient="false"
+	 * @generated
+	 */
+	Artifact getParent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getParent <em>Parent</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Parent</em>' container reference.
+	 * @see #getParent()
+	 * @generated
+	 */
+	void setParent(Artifact value);
+
+	/**
+	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getParent <em>Parent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Children</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifact_Children()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getParent
+	 * @model opposite="parent" containment="true"
+	 * @generated
+	 */
+	EList<Artifact> getChildren();
+
+	/**
+	 * Returns the value of the '<em><b>States</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.State}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getArtifact <em>Artifact</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>States</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>States</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifact_States()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getArtifact
+	 * @model opposite="artifact" containment="true"
+	 * @generated
+	 */
+	EList<State> getStates();
+
+	/**
+	 * Returns the value of the '<em><b>Attributes</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attributes</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attributes</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifact_Attributes()
+	 * @model
+	 * @generated
+	 */
+	EList<Attribute> getAttributes();
+
+} // Artifact
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ArtifactType.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ArtifactType.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ArtifactType.java	(revision 36)
@@ -0,0 +1,40 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Artifact Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType#getContainerTypes <em>Container Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifactType()
+ * @model
+ * @generated
+ */
+public interface ArtifactType extends Element {
+	/**
+	 * Returns the value of the '<em><b>Container Types</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Container Types</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Container Types</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifactType_ContainerTypes()
+	 * @model
+	 * @generated
+	 */
+	EList<ArtifactType> getContainerTypes();
+
+} // ArtifactType
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ArtifactTypeHierarchy.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ArtifactTypeHierarchy.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ArtifactTypeHierarchy.java	(revision 36)
@@ -0,0 +1,42 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Artifact Type Hierarchy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy#getTypes <em>Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifactTypeHierarchy()
+ * @model
+ * @generated
+ */
+public interface ArtifactTypeHierarchy extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Types</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Types</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Types</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getArtifactTypeHierarchy_Types()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<ArtifactType> getTypes();
+
+} // ArtifactTypeHierarchy
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Attribute.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Attribute.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Attribute.java	(revision 36)
@@ -0,0 +1,113 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getArtifactTypes <em>Artifact Types</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDimension <em>Dimension</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttribute()
+ * @model
+ * @generated
+ */
+public interface Attribute extends Element {
+	/**
+	 * Returns the value of the '<em><b>Artifact Types</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Artifact Types</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Artifact Types</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttribute_ArtifactTypes()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<ArtifactType> getArtifactTypes();
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' reference.
+	 * @see #setType(EDataType)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttribute_Type()
+	 * @model
+	 * @generated
+	 */
+	EDataType getType();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getType <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' reference.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(EDataType value);
+
+	/**
+	 * Returns the value of the '<em><b>Dimension</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Dimension}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimension</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dimension</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttribute_Dimension()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	EList<Dimension> getDimension();
+
+	/**
+	 * Returns the value of the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Description</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Description</em>' attribute.
+	 * @see #setDescription(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttribute_Description()
+	 * @model
+	 * @generated
+	 */
+	String getDescription();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDescription <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Description</em>' attribute.
+	 * @see #getDescription()
+	 * @generated
+	 */
+	void setDescription(String value);
+
+} // Attribute
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AttributePool.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AttributePool.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/AttributePool.java	(revision 36)
@@ -0,0 +1,42 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute Pool</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttributePool()
+ * @model
+ * @generated
+ */
+public interface AttributePool extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attributes</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getAttributePool_Attributes()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Attribute> getAttributes();
+
+} // AttributePool
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DECENTFactory.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DECENTFactory.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DECENTFactory.java	(revision 36)
@@ -0,0 +1,258 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage
+ * @generated
+ */
+public interface DECENTFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DECENTFactory eINSTANCE = de.ugoe.cs.cpdp.decentApp.models.decent.impl.DECENTFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Model</em>'.
+	 * @generated
+	 */
+	Model createModel();
+
+	/**
+	 * Returns a new object of class '<em>Element</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Element</em>'.
+	 * @generated
+	 */
+	Element createElement();
+
+	/**
+	 * Returns a new object of class '<em>Step</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Step</em>'.
+	 * @generated
+	 */
+	Step createStep();
+
+	/**
+	 * Returns a new object of class '<em>Agent Pool</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Agent Pool</em>'.
+	 * @generated
+	 */
+	AgentPool createAgentPool();
+
+	/**
+	 * Returns a new object of class '<em>Attribute Pool</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Attribute Pool</em>'.
+	 * @generated
+	 */
+	AttributePool createAttributePool();
+
+	/**
+	 * Returns a new object of class '<em>Artifact Type Hierarchy</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Artifact Type Hierarchy</em>'.
+	 * @generated
+	 */
+	ArtifactTypeHierarchy createArtifactTypeHierarchy();
+
+	/**
+	 * Returns a new object of class '<em>Artifact Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Artifact Type</em>'.
+	 * @generated
+	 */
+	ArtifactType createArtifactType();
+
+	/**
+	 * Returns a new object of class '<em>Project</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Project</em>'.
+	 * @generated
+	 */
+	Project createProject();
+
+	/**
+	 * Returns a new object of class '<em>Agent</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Agent</em>'.
+	 * @generated
+	 */
+	Agent createAgent();
+
+	/**
+	 * Returns a new object of class '<em>Agent State</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Agent State</em>'.
+	 * @generated
+	 */
+	AgentState createAgentState();
+
+	/**
+	 * Returns a new object of class '<em>Location</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Location</em>'.
+	 * @generated
+	 */
+	Location createLocation();
+
+	/**
+	 * Returns a new object of class '<em>Artifact</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Artifact</em>'.
+	 * @generated
+	 */
+	Artifact createArtifact();
+
+	/**
+	 * Returns a new object of class '<em>State</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>State</em>'.
+	 * @generated
+	 */
+	State createState();
+
+	/**
+	 * Returns a new object of class '<em>Activity</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Activity</em>'.
+	 * @generated
+	 */
+	Activity createActivity();
+
+	/**
+	 * Returns a new object of class '<em>Activity Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Activity Type</em>'.
+	 * @generated
+	 */
+	ActivityType createActivityType();
+
+	/**
+	 * Returns a new object of class '<em>Dimension</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Dimension</em>'.
+	 * @generated
+	 */
+	Dimension createDimension();
+
+	/**
+	 * Returns a new object of class '<em>Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Attribute</em>'.
+	 * @generated
+	 */
+	Attribute createAttribute();
+
+	/**
+	 * Returns a new object of class '<em>Integer Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Integer Value</em>'.
+	 * @generated
+	 */
+	IntegerValue createIntegerValue();
+
+	/**
+	 * Returns a new object of class '<em>Double Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Double Value</em>'.
+	 * @generated
+	 */
+	DoubleValue createDoubleValue();
+
+	/**
+	 * Returns a new object of class '<em>String Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>String Value</em>'.
+	 * @generated
+	 */
+	StringValue createStringValue();
+
+	/**
+	 * Returns a new object of class '<em>List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>List Value</em>'.
+	 * @generated
+	 */
+	ListValue createListValue();
+
+	/**
+	 * Returns a new object of class '<em>String List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>String List Value</em>'.
+	 * @generated
+	 */
+	StringListValue createStringListValue();
+
+	/**
+	 * Returns a new object of class '<em>Double List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Double List Value</em>'.
+	 * @generated
+	 */
+	DoubleListValue createDoubleListValue();
+
+	/**
+	 * Returns a new object of class '<em>Integer List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Integer List Value</em>'.
+	 * @generated
+	 */
+	IntegerListValue createIntegerListValue();
+
+	/**
+	 * Returns a new object of class '<em>Delta</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Delta</em>'.
+	 * @generated
+	 */
+	Delta createDelta();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	DECENTPackage getDECENTPackage();
+
+} //DECENTFactory
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DECENTPackage.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DECENTPackage.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DECENTPackage.java	(revision 36)
@@ -0,0 +1,3665 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/OCL/Import ecore='http://www.eclipse.org/emf/2002/Ecore#/'"
+ *        annotation="http://www.eclipse.org/emf/2002/Ecore invocationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot' settingDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot' validationDelegates='http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot'"
+ * @generated
+ */
+public interface DECENTPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "DECENT";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://decent/3.0";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "DECENT";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	DECENTPackage eINSTANCE = de.ugoe.cs.cpdp.decentApp.models.decent.impl.DECENTPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ModelImpl <em>Model</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ModelImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getModel()
+	 * @generated
+	 */
+	int MODEL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__CONTENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Steps</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__STEPS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Projects</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__PROJECTS = 3;
+
+	/**
+	 * The feature id for the '<em><b>Artifact Type Hierarchy</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__ARTIFACT_TYPE_HIERARCHY = 4;
+
+	/**
+	 * The feature id for the '<em><b>Agent Pool</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__AGENT_POOL = 5;
+
+	/**
+	 * The feature id for the '<em><b>Attribute Pool</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__ATTRIBUTE_POOL = 6;
+
+	/**
+	 * The feature id for the '<em><b>Activity Types</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__ACTIVITY_TYPES = 7;
+
+	/**
+	 * The feature id for the '<em><b>Dimensions</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL__DIMENSIONS = 8;
+
+	/**
+	 * The number of structural features of the '<em>Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL_FEATURE_COUNT = 9;
+
+	/**
+	 * The number of operations of the '<em>Model</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ElementImpl <em>Element</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ElementImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getElement()
+	 * @generated
+	 */
+	int ELEMENT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT__ID = 1;
+
+	/**
+	 * The number of structural features of the '<em>Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.StepImpl <em>Step</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.StepImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getStep()
+	 * @generated
+	 */
+	int STEP = 2;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEP__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEP__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEP__DURATION = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Step</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEP_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Step</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEP_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.AgentPoolImpl <em>Agent Pool</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.AgentPoolImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getAgentPool()
+	 * @generated
+	 */
+	int AGENT_POOL = 3;
+
+	/**
+	 * The feature id for the '<em><b>Agents</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_POOL__AGENTS = 0;
+
+	/**
+	 * The number of structural features of the '<em>Agent Pool</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_POOL_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Agent Pool</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_POOL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.AttributePoolImpl <em>Attribute Pool</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.AttributePoolImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getAttributePool()
+	 * @generated
+	 */
+	int ATTRIBUTE_POOL = 4;
+
+	/**
+	 * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_POOL__ATTRIBUTES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Attribute Pool</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_POOL_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Attribute Pool</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_POOL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ArtifactTypeHierarchyImpl <em>Artifact Type Hierarchy</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ArtifactTypeHierarchyImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getArtifactTypeHierarchy()
+	 * @generated
+	 */
+	int ARTIFACT_TYPE_HIERARCHY = 5;
+
+	/**
+	 * The feature id for the '<em><b>Types</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE_HIERARCHY__TYPES = 0;
+
+	/**
+	 * The number of structural features of the '<em>Artifact Type Hierarchy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE_HIERARCHY_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Artifact Type Hierarchy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE_HIERARCHY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ArtifactTypeImpl <em>Artifact Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ArtifactTypeImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getArtifactType()
+	 * @generated
+	 */
+	int ARTIFACT_TYPE = 6;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Container Types</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE__CONTAINER_TYPES = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Artifact Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Artifact Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_TYPE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ProjectImpl <em>Project</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ProjectImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getProject()
+	 * @generated
+	 */
+	int PROJECT = 7;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Agents</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT__AGENTS = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Location</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT__LOCATION = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Project</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Project</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROJECT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.AgentImpl <em>Agent</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.AgentImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getAgent()
+	 * @generated
+	 */
+	int AGENT = 8;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>EMail</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__EMAIL = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Projects</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__PROJECTS = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Activities</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__ACTIVITIES = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>States</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT__STATES = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Agent</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Agent</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.AgentStateImpl <em>Agent State</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.AgentStateImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getAgentState()
+	 * @generated
+	 */
+	int AGENT_STATE = 9;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__DATE = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Agent</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__AGENT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Activities</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__ACTIVITIES = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Next</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__NEXT = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Previous</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__PREVIOUS = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE__VALUES = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Agent State</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The number of operations of the '<em>Agent State</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int AGENT_STATE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.LocationImpl <em>Location</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.LocationImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getLocation()
+	 * @generated
+	 */
+	int LOCATION = 10;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION__TYPE = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Project</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION__PROJECT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Artifacts</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION__ARTIFACTS = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Location</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Location</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOCATION_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ArtifactImpl <em>Artifact</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ArtifactImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getArtifact()
+	 * @generated
+	 */
+	int ARTIFACT = 11;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__TYPE = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Parent</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__PARENT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__CHILDREN = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>States</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__STATES = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Attributes</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT__ATTRIBUTES = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of structural features of the '<em>Artifact</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of operations of the '<em>Artifact</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.StateImpl <em>State</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.StateImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getState()
+	 * @generated
+	 */
+	int STATE = 12;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Artifact</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__ARTIFACT = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Activity</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__ACTIVITY = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>From Activity</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__FROM_ACTIVITY = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Next</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__NEXT = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Previous</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__PREVIOUS = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Parent</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__PARENT = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Children</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__CHILDREN = ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE__VALUES = ELEMENT_FEATURE_COUNT + 7;
+
+	/**
+	 * The number of structural features of the '<em>State</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 8;
+
+	/**
+	 * The number of operations of the '<em>State</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ActivityImpl <em>Activity</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ActivityImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getActivity()
+	 * @generated
+	 */
+	int ACTIVITY = 13;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__TYPE = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Agent</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__AGENT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__STATE = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Target State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__TARGET_STATE = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Deltas</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__DELTAS = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__DATE = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Values</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__VALUES = ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Agent State</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__AGENT_STATE = ELEMENT_FEATURE_COUNT + 7;
+
+	/**
+	 * The number of structural features of the '<em>Activity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 8;
+
+	/**
+	 * The number of operations of the '<em>Activity</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ActivityTypeImpl <em>Activity Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ActivityTypeImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getActivityType()
+	 * @generated
+	 */
+	int ACTIVITY_TYPE = 14;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_TYPE__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_TYPE__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Dimension</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_TYPE__DIMENSION = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Activity Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_TYPE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Activity Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_TYPE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.DimensionImpl <em>Dimension</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.DimensionImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getDimension()
+	 * @generated
+	 */
+	int DIMENSION = 15;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION__ID = ELEMENT__ID;
+
+	/**
+	 * The number of structural features of the '<em>Dimension</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Dimension</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.AttributeImpl <em>Attribute</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.AttributeImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getAttribute()
+	 * @generated
+	 */
+	int ATTRIBUTE = 16;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__NAME = ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__ID = ELEMENT__ID;
+
+	/**
+	 * The feature id for the '<em><b>Artifact Types</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__ARTIFACT_TYPES = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__TYPE = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Dimension</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__DIMENSION = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE__DESCRIPTION = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of structural features of the '<em>Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Attribute</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ValueImpl <em>Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getValue()
+	 * @generated
+	 */
+	int VALUE = 17;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE__NAME = 0;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE__OF_ATTRIBUTE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.IntegerValueImpl <em>Integer Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.IntegerValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getIntegerValue()
+	 * @generated
+	 */
+	int INTEGER_VALUE = 18;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Integer Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Integer Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.DoubleValueImpl <em>Double Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.DoubleValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getDoubleValue()
+	 * @generated
+	 */
+	int DOUBLE_VALUE = 19;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Double Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Double Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.StringValueImpl <em>String Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.StringValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getStringValue()
+	 * @generated
+	 */
+	int STRING_VALUE = 20;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>String Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>String Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.ListValueImpl <em>List Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.ListValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getListValue()
+	 * @generated
+	 */
+	int LIST_VALUE = 21;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIST_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIST_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIST_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIST_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIST_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.StringListValueImpl <em>String List Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.StringListValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getStringListValue()
+	 * @generated
+	 */
+	int STRING_LIST_VALUE = 22;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_LIST_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_LIST_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_LIST_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>String List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_LIST_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>String List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_LIST_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.DoubleListValueImpl <em>Double List Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.DoubleListValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getDoubleListValue()
+	 * @generated
+	 */
+	int DOUBLE_LIST_VALUE = 23;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_LIST_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_LIST_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_LIST_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Double List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_LIST_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Double List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_LIST_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.IntegerListValueImpl <em>Integer List Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.IntegerListValueImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getIntegerListValue()
+	 * @generated
+	 */
+	int INTEGER_LIST_VALUE = 24;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_LIST_VALUE__NAME = VALUE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_LIST_VALUE__OF_ATTRIBUTE = VALUE__OF_ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Content</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_LIST_VALUE__CONTENT = VALUE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Integer List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_LIST_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Integer List Value</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_LIST_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link DECENT.impl.DeltaImpl <em>Delta</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see DECENT.impl.DeltaImpl
+	 * @see DECENT.impl.DECENTPackageImpl#getDelta()
+	 * @generated
+	 */
+	int DELTA = 25;
+
+	/**
+	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA__ACTIVITY = 0;
+
+	/**
+	 * The feature id for the '<em><b>On Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA__ON_ATTRIBUTE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Target Value</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA__TARGET_VALUE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Source Value</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA__SOURCE_VALUE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Change</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA__CHANGE = 4;
+
+	/**
+	 * The number of structural features of the '<em>Delta</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Delta</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DELTA_OPERATION_COUNT = 0;
+
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model <em>Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Model</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model
+	 * @generated
+	 */
+	EClass getModel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getName()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EAttribute getModel_Name();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getContent()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EAttribute getModel_Content();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getSteps <em>Steps</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Steps</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getSteps()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Steps();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getProjects <em>Projects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Projects</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getProjects()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Projects();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getArtifactTypeHierarchy <em>Artifact Type Hierarchy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Artifact Type Hierarchy</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getArtifactTypeHierarchy()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_ArtifactTypeHierarchy();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAgentPool <em>Agent Pool</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Agent Pool</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAgentPool()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_AgentPool();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAttributePool <em>Attribute Pool</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Attribute Pool</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAttributePool()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_AttributePool();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getActivityTypes <em>Activity Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Activity Types</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getActivityTypes()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_ActivityTypes();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getDimensions <em>Dimensions</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Dimensions</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model#getDimensions()
+	 * @see #getModel()
+	 * @generated
+	 */
+	EReference getModel_Dimensions();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element <em>Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Element</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Element
+	 * @generated
+	 */
+	EClass getElement();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Element#getName()
+	 * @see #getElement()
+	 * @generated
+	 */
+	EAttribute getElement_Name();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element#getID <em>ID</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>ID</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Element#getID()
+	 * @see #getElement()
+	 * @generated
+	 */
+	EAttribute getElement_ID();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Step <em>Step</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Step</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Step
+	 * @generated
+	 */
+	EClass getStep();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Step#getDuration <em>Duration</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Duration</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Step#getDuration()
+	 * @see #getStep()
+	 * @generated
+	 */
+	EAttribute getStep_Duration();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool <em>Agent Pool</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Agent Pool</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool
+	 * @generated
+	 */
+	EClass getAgentPool();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool#getAgents <em>Agents</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Agents</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool#getAgents()
+	 * @see #getAgentPool()
+	 * @generated
+	 */
+	EReference getAgentPool_Agents();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool <em>Attribute Pool</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Attribute Pool</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool
+	 * @generated
+	 */
+	EClass getAttributePool();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool#getAttributes <em>Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Attributes</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool#getAttributes()
+	 * @see #getAttributePool()
+	 * @generated
+	 */
+	EReference getAttributePool_Attributes();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy <em>Artifact Type Hierarchy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Artifact Type Hierarchy</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy
+	 * @generated
+	 */
+	EClass getArtifactTypeHierarchy();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy#getTypes <em>Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Types</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy#getTypes()
+	 * @see #getArtifactTypeHierarchy()
+	 * @generated
+	 */
+	EReference getArtifactTypeHierarchy_Types();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType <em>Artifact Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Artifact Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType
+	 * @generated
+	 */
+	EClass getArtifactType();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType#getContainerTypes <em>Container Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Container Types</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType#getContainerTypes()
+	 * @see #getArtifactType()
+	 * @generated
+	 */
+	EReference getArtifactType_ContainerTypes();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Project</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Project
+	 * @generated
+	 */
+	EClass getProject();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project#getAgents <em>Agents</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Agents</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Project#getAgents()
+	 * @see #getProject()
+	 * @generated
+	 */
+	EReference getProject_Agents();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project#getLocation <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Location</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Project#getLocation()
+	 * @see #getProject()
+	 * @generated
+	 */
+	EReference getProject_Location();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Agent</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent
+	 * @generated
+	 */
+	EClass getAgent();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getEMail <em>EMail</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>EMail</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getEMail()
+	 * @see #getAgent()
+	 * @generated
+	 */
+	EAttribute getAgent_EMail();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getProjects <em>Projects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Projects</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getProjects()
+	 * @see #getAgent()
+	 * @generated
+	 */
+	EReference getAgent_Projects();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getActivities <em>Activities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Activities</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getActivities()
+	 * @see #getAgent()
+	 * @generated
+	 */
+	EReference getAgent_Activities();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getStates <em>States</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>States</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getStates()
+	 * @see #getAgent()
+	 * @generated
+	 */
+	EReference getAgent_States();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState <em>Agent State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Agent State</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState
+	 * @generated
+	 */
+	EClass getAgentState();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getDate <em>Date</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getDate()
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	EAttribute getAgentState_Date();
+
+	/**
+	 * Returns the meta object for the container reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getAgent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Agent</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getAgent()
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	EReference getAgentState_Agent();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getActivities <em>Activities</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Activities</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getActivities()
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	EReference getAgentState_Activities();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getNext <em>Next</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Next</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getNext()
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	EReference getAgentState_Next();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getPrevious <em>Previous</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Previous</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getPrevious()
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	EReference getAgentState_Previous();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Values</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState#getValues()
+	 * @see #getAgentState()
+	 * @generated
+	 */
+	EReference getAgentState_Values();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Location</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Location
+	 * @generated
+	 */
+	EClass getLocation();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Location#getType()
+	 * @see #getLocation()
+	 * @generated
+	 */
+	EReference getLocation_Type();
+
+	/**
+	 * Returns the meta object for the container reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getProject <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Project</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Location#getProject()
+	 * @see #getLocation()
+	 * @generated
+	 */
+	EReference getLocation_Project();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getArtifacts <em>Artifacts</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Artifacts</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Location#getArtifacts()
+	 * @see #getLocation()
+	 * @generated
+	 */
+	EReference getLocation_Artifacts();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact <em>Artifact</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Artifact</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact
+	 * @generated
+	 */
+	EClass getArtifact();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getType()
+	 * @see #getArtifact()
+	 * @generated
+	 */
+	EReference getArtifact_Type();
+
+	/**
+	 * Returns the meta object for the container reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getParent <em>Parent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Parent</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getParent()
+	 * @see #getArtifact()
+	 * @generated
+	 */
+	EReference getArtifact_Parent();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getChildren <em>Children</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Children</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getChildren()
+	 * @see #getArtifact()
+	 * @generated
+	 */
+	EReference getArtifact_Children();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getStates <em>States</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>States</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getStates()
+	 * @see #getArtifact()
+	 * @generated
+	 */
+	EReference getArtifact_States();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getAttributes <em>Attributes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Attributes</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getAttributes()
+	 * @see #getArtifact()
+	 * @generated
+	 */
+	EReference getArtifact_Attributes();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State <em>State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>State</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State
+	 * @generated
+	 */
+	EClass getState();
+
+	/**
+	 * Returns the meta object for the container reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getArtifact <em>Artifact</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Artifact</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getArtifact()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Artifact();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getActivity <em>Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Activity</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getActivity()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Activity();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getFromActivity <em>From Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>From Activity</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getFromActivity()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_FromActivity();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getNext <em>Next</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Next</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getNext()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Next();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getPrevious <em>Previous</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Previous</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getPrevious()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Previous();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getParent <em>Parent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Parent</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getParent()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Parent();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getChildren <em>Children</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Children</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getChildren()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Children();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Values</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getValues()
+	 * @see #getState()
+	 * @generated
+	 */
+	EReference getState_Values();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity <em>Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Activity</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity
+	 * @generated
+	 */
+	EClass getActivity();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getType()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_Type();
+
+	/**
+	 * Returns the meta object for the container reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Agent</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgent()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_Agent();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getState <em>State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>State</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getState()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_State();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getTargetState <em>Target State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Target State</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getTargetState()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_TargetState();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDeltas <em>Deltas</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Deltas</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDeltas()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_Deltas();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDate <em>Date</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDate()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EAttribute getActivity_Date();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getValues <em>Values</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Values</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getValues()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_Values();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgentState <em>Agent State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Agent State</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getAgentState()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_AgentState();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType <em>Activity Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Activity Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType
+	 * @generated
+	 */
+	EClass getActivityType();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType#getDimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Dimension</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType#getDimension()
+	 * @see #getActivityType()
+	 * @generated
+	 */
+	EReference getActivityType_Dimension();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Dimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Dimension</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Dimension
+	 * @generated
+	 */
+	EClass getDimension();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute <em>Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Attribute</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Attribute
+	 * @generated
+	 */
+	EClass getAttribute();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getArtifactTypes <em>Artifact Types</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Artifact Types</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getArtifactTypes()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EReference getAttribute_ArtifactTypes();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Type</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getType()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EReference getAttribute_Type();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Dimension</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDimension()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EReference getAttribute_Dimension();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDescription <em>Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Description</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Attribute#getDescription()
+	 * @see #getAttribute()
+	 * @generated
+	 */
+	EAttribute getAttribute_Description();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Value
+	 * @generated
+	 */
+	EClass getValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Value#getName()
+	 * @see #getValue()
+	 * @generated
+	 */
+	EAttribute getValue_Name();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value#getOfAttribute <em>Of Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Of Attribute</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Value#getOfAttribute()
+	 * @see #getValue()
+	 * @generated
+	 */
+	EReference getValue_OfAttribute();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue <em>Integer Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Integer Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue
+	 * @generated
+	 */
+	EClass getIntegerValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue#getContent()
+	 * @see #getIntegerValue()
+	 * @generated
+	 */
+	EAttribute getIntegerValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue <em>Double Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Double Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue
+	 * @generated
+	 */
+	EClass getDoubleValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue#getContent()
+	 * @see #getDoubleValue()
+	 * @generated
+	 */
+	EAttribute getDoubleValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringValue <em>String Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>String Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.StringValue
+	 * @generated
+	 */
+	EClass getStringValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.StringValue#getContent()
+	 * @see #getStringValue()
+	 * @generated
+	 */
+	EAttribute getStringValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ListValue <em>List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>List Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ListValue
+	 * @generated
+	 */
+	EClass getListValue();
+
+	/**
+	 * Returns the meta object for the reference list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ListValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference list '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ListValue#getContent()
+	 * @see #getListValue()
+	 * @generated
+	 */
+	EReference getListValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue <em>String List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>String List Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue
+	 * @generated
+	 */
+	EClass getStringListValue();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue#getContent()
+	 * @see #getStringListValue()
+	 * @generated
+	 */
+	EAttribute getStringListValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue <em>Double List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Double List Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue
+	 * @generated
+	 */
+	EClass getDoubleListValue();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue#getContent()
+	 * @see #getDoubleListValue()
+	 * @generated
+	 */
+	EAttribute getDoubleListValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue <em>Integer List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Integer List Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue
+	 * @generated
+	 */
+	EClass getIntegerListValue();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue#getContent <em>Content</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Content</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue#getContent()
+	 * @see #getIntegerListValue()
+	 * @generated
+	 */
+	EAttribute getIntegerListValue_Content();
+
+	/**
+	 * Returns the meta object for class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta <em>Delta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Delta</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta
+	 * @generated
+	 */
+	EClass getDelta();
+
+	/**
+	 * Returns the meta object for the container reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getActivity <em>Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the container reference '<em>Activity</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getActivity()
+	 * @see #getDelta()
+	 * @generated
+	 */
+	EReference getDelta_Activity();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getOnAttribute <em>On Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>On Attribute</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getOnAttribute()
+	 * @see #getDelta()
+	 * @generated
+	 */
+	EReference getDelta_OnAttribute();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getTargetValue <em>Target Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Target Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getTargetValue()
+	 * @see #getDelta()
+	 * @generated
+	 */
+	EReference getDelta_TargetValue();
+
+	/**
+	 * Returns the meta object for the reference '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getSourceValue <em>Source Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Source Value</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getSourceValue()
+	 * @see #getDelta()
+	 * @generated
+	 */
+	EReference getDelta_SourceValue();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getChange <em>Change</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Change</em>'.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getChange()
+	 * @see #getDelta()
+	 * @generated
+	 */
+	EAttribute getDelta_Change();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	DECENTFactory getDECENTFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ModelImpl <em>Model</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ModelImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getModel()
+		 * @generated
+		 */
+		EClass MODEL = eINSTANCE.getModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MODEL__NAME = eINSTANCE.getModel_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute MODEL__CONTENT = eINSTANCE.getModel_Content();
+
+		/**
+		 * The meta object literal for the '<em><b>Steps</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__STEPS = eINSTANCE.getModel_Steps();
+
+		/**
+		 * The meta object literal for the '<em><b>Projects</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__PROJECTS = eINSTANCE.getModel_Projects();
+
+		/**
+		 * The meta object literal for the '<em><b>Artifact Type Hierarchy</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__ARTIFACT_TYPE_HIERARCHY = eINSTANCE.getModel_ArtifactTypeHierarchy();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent Pool</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__AGENT_POOL = eINSTANCE.getModel_AgentPool();
+
+		/**
+		 * The meta object literal for the '<em><b>Attribute Pool</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__ATTRIBUTE_POOL = eINSTANCE.getModel_AttributePool();
+
+		/**
+		 * The meta object literal for the '<em><b>Activity Types</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__ACTIVITY_TYPES = eINSTANCE.getModel_ActivityTypes();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimensions</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference MODEL__DIMENSIONS = eINSTANCE.getModel_Dimensions();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ElementImpl <em>Element</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ElementImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getElement()
+		 * @generated
+		 */
+		EClass ELEMENT = eINSTANCE.getElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ELEMENT__NAME = eINSTANCE.getElement_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>ID</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ELEMENT__ID = eINSTANCE.getElement_ID();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.StepImpl <em>Step</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.StepImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getStep()
+		 * @generated
+		 */
+		EClass STEP = eINSTANCE.getStep();
+
+		/**
+		 * The meta object literal for the '<em><b>Duration</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STEP__DURATION = eINSTANCE.getStep_Duration();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.AgentPoolImpl <em>Agent Pool</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.AgentPoolImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getAgentPool()
+		 * @generated
+		 */
+		EClass AGENT_POOL = eINSTANCE.getAgentPool();
+
+		/**
+		 * The meta object literal for the '<em><b>Agents</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT_POOL__AGENTS = eINSTANCE.getAgentPool_Agents();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.AttributePoolImpl <em>Attribute Pool</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.AttributePoolImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getAttributePool()
+		 * @generated
+		 */
+		EClass ATTRIBUTE_POOL = eINSTANCE.getAttributePool();
+
+		/**
+		 * The meta object literal for the '<em><b>Attributes</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ATTRIBUTE_POOL__ATTRIBUTES = eINSTANCE.getAttributePool_Attributes();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ArtifactTypeHierarchyImpl <em>Artifact Type Hierarchy</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ArtifactTypeHierarchyImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getArtifactTypeHierarchy()
+		 * @generated
+		 */
+		EClass ARTIFACT_TYPE_HIERARCHY = eINSTANCE.getArtifactTypeHierarchy();
+
+		/**
+		 * The meta object literal for the '<em><b>Types</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT_TYPE_HIERARCHY__TYPES = eINSTANCE.getArtifactTypeHierarchy_Types();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ArtifactTypeImpl <em>Artifact Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ArtifactTypeImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getArtifactType()
+		 * @generated
+		 */
+		EClass ARTIFACT_TYPE = eINSTANCE.getArtifactType();
+
+		/**
+		 * The meta object literal for the '<em><b>Container Types</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT_TYPE__CONTAINER_TYPES = eINSTANCE.getArtifactType_ContainerTypes();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ProjectImpl <em>Project</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ProjectImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getProject()
+		 * @generated
+		 */
+		EClass PROJECT = eINSTANCE.getProject();
+
+		/**
+		 * The meta object literal for the '<em><b>Agents</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROJECT__AGENTS = eINSTANCE.getProject_Agents();
+
+		/**
+		 * The meta object literal for the '<em><b>Location</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROJECT__LOCATION = eINSTANCE.getProject_Location();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.AgentImpl <em>Agent</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.AgentImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getAgent()
+		 * @generated
+		 */
+		EClass AGENT = eINSTANCE.getAgent();
+
+		/**
+		 * The meta object literal for the '<em><b>EMail</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute AGENT__EMAIL = eINSTANCE.getAgent_EMail();
+
+		/**
+		 * The meta object literal for the '<em><b>Projects</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT__PROJECTS = eINSTANCE.getAgent_Projects();
+
+		/**
+		 * The meta object literal for the '<em><b>Activities</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT__ACTIVITIES = eINSTANCE.getAgent_Activities();
+
+		/**
+		 * The meta object literal for the '<em><b>States</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT__STATES = eINSTANCE.getAgent_States();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.AgentStateImpl <em>Agent State</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.AgentStateImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getAgentState()
+		 * @generated
+		 */
+		EClass AGENT_STATE = eINSTANCE.getAgentState();
+
+		/**
+		 * The meta object literal for the '<em><b>Date</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute AGENT_STATE__DATE = eINSTANCE.getAgentState_Date();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT_STATE__AGENT = eINSTANCE.getAgentState_Agent();
+
+		/**
+		 * The meta object literal for the '<em><b>Activities</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT_STATE__ACTIVITIES = eINSTANCE.getAgentState_Activities();
+
+		/**
+		 * The meta object literal for the '<em><b>Next</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT_STATE__NEXT = eINSTANCE.getAgentState_Next();
+
+		/**
+		 * The meta object literal for the '<em><b>Previous</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT_STATE__PREVIOUS = eINSTANCE.getAgentState_Previous();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference AGENT_STATE__VALUES = eINSTANCE.getAgentState_Values();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.LocationImpl <em>Location</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.LocationImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getLocation()
+		 * @generated
+		 */
+		EClass LOCATION = eINSTANCE.getLocation();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LOCATION__TYPE = eINSTANCE.getLocation_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Project</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LOCATION__PROJECT = eINSTANCE.getLocation_Project();
+
+		/**
+		 * The meta object literal for the '<em><b>Artifacts</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LOCATION__ARTIFACTS = eINSTANCE.getLocation_Artifacts();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ArtifactImpl <em>Artifact</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ArtifactImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getArtifact()
+		 * @generated
+		 */
+		EClass ARTIFACT = eINSTANCE.getArtifact();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT__TYPE = eINSTANCE.getArtifact_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT__PARENT = eINSTANCE.getArtifact_Parent();
+
+		/**
+		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT__CHILDREN = eINSTANCE.getArtifact_Children();
+
+		/**
+		 * The meta object literal for the '<em><b>States</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT__STATES = eINSTANCE.getArtifact_States();
+
+		/**
+		 * The meta object literal for the '<em><b>Attributes</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ARTIFACT__ATTRIBUTES = eINSTANCE.getArtifact_Attributes();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.StateImpl <em>State</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.StateImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getState()
+		 * @generated
+		 */
+		EClass STATE = eINSTANCE.getState();
+
+		/**
+		 * The meta object literal for the '<em><b>Artifact</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__ARTIFACT = eINSTANCE.getState_Artifact();
+
+		/**
+		 * The meta object literal for the '<em><b>Activity</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__ACTIVITY = eINSTANCE.getState_Activity();
+
+		/**
+		 * The meta object literal for the '<em><b>From Activity</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__FROM_ACTIVITY = eINSTANCE.getState_FromActivity();
+
+		/**
+		 * The meta object literal for the '<em><b>Next</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__NEXT = eINSTANCE.getState_Next();
+
+		/**
+		 * The meta object literal for the '<em><b>Previous</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__PREVIOUS = eINSTANCE.getState_Previous();
+
+		/**
+		 * The meta object literal for the '<em><b>Parent</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__PARENT = eINSTANCE.getState_Parent();
+
+		/**
+		 * The meta object literal for the '<em><b>Children</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__CHILDREN = eINSTANCE.getState_Children();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference STATE__VALUES = eINSTANCE.getState_Values();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ActivityImpl <em>Activity</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ActivityImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getActivity()
+		 * @generated
+		 */
+		EClass ACTIVITY = eINSTANCE.getActivity();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__TYPE = eINSTANCE.getActivity_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__AGENT = eINSTANCE.getActivity_Agent();
+
+		/**
+		 * The meta object literal for the '<em><b>State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__STATE = eINSTANCE.getActivity_State();
+
+		/**
+		 * The meta object literal for the '<em><b>Target State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__TARGET_STATE = eINSTANCE.getActivity_TargetState();
+
+		/**
+		 * The meta object literal for the '<em><b>Deltas</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__DELTAS = eINSTANCE.getActivity_Deltas();
+
+		/**
+		 * The meta object literal for the '<em><b>Date</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACTIVITY__DATE = eINSTANCE.getActivity_Date();
+
+		/**
+		 * The meta object literal for the '<em><b>Values</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__VALUES = eINSTANCE.getActivity_Values();
+
+		/**
+		 * The meta object literal for the '<em><b>Agent State</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__AGENT_STATE = eINSTANCE.getActivity_AgentState();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ActivityTypeImpl <em>Activity Type</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ActivityTypeImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getActivityType()
+		 * @generated
+		 */
+		EClass ACTIVITY_TYPE = eINSTANCE.getActivityType();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimension</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY_TYPE__DIMENSION = eINSTANCE.getActivityType_Dimension();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.DimensionImpl <em>Dimension</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.DimensionImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getDimension()
+		 * @generated
+		 */
+		EClass DIMENSION = eINSTANCE.getDimension();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.AttributeImpl <em>Attribute</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.AttributeImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getAttribute()
+		 * @generated
+		 */
+		EClass ATTRIBUTE = eINSTANCE.getAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Artifact Types</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ATTRIBUTE__ARTIFACT_TYPES = eINSTANCE.getAttribute_ArtifactTypes();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ATTRIBUTE__TYPE = eINSTANCE.getAttribute_Type();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimension</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ATTRIBUTE__DIMENSION = eINSTANCE.getAttribute_Dimension();
+
+		/**
+		 * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ATTRIBUTE__DESCRIPTION = eINSTANCE.getAttribute_Description();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ValueImpl <em>Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getValue()
+		 * @generated
+		 */
+		EClass VALUE = eINSTANCE.getValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute VALUE__NAME = eINSTANCE.getValue_Name();
+
+		/**
+		 * The meta object literal for the '<em><b>Of Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference VALUE__OF_ATTRIBUTE = eINSTANCE.getValue_OfAttribute();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.IntegerValueImpl <em>Integer Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.IntegerValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getIntegerValue()
+		 * @generated
+		 */
+		EClass INTEGER_VALUE = eINSTANCE.getIntegerValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_VALUE__CONTENT = eINSTANCE.getIntegerValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.DoubleValueImpl <em>Double Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.DoubleValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getDoubleValue()
+		 * @generated
+		 */
+		EClass DOUBLE_VALUE = eINSTANCE.getDoubleValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DOUBLE_VALUE__CONTENT = eINSTANCE.getDoubleValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.StringValueImpl <em>String Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.StringValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getStringValue()
+		 * @generated
+		 */
+		EClass STRING_VALUE = eINSTANCE.getStringValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRING_VALUE__CONTENT = eINSTANCE.getStringValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.ListValueImpl <em>List Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.ListValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getListValue()
+		 * @generated
+		 */
+		EClass LIST_VALUE = eINSTANCE.getListValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LIST_VALUE__CONTENT = eINSTANCE.getListValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.StringListValueImpl <em>String List Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.StringListValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getStringListValue()
+		 * @generated
+		 */
+		EClass STRING_LIST_VALUE = eINSTANCE.getStringListValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRING_LIST_VALUE__CONTENT = eINSTANCE.getStringListValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.DoubleListValueImpl <em>Double List Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.DoubleListValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getDoubleListValue()
+		 * @generated
+		 */
+		EClass DOUBLE_LIST_VALUE = eINSTANCE.getDoubleListValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DOUBLE_LIST_VALUE__CONTENT = eINSTANCE.getDoubleListValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.IntegerListValueImpl <em>Integer List Value</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.IntegerListValueImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getIntegerListValue()
+		 * @generated
+		 */
+		EClass INTEGER_LIST_VALUE = eINSTANCE.getIntegerListValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Content</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_LIST_VALUE__CONTENT = eINSTANCE.getIntegerListValue_Content();
+
+		/**
+		 * The meta object literal for the '{@link DECENT.impl.DeltaImpl <em>Delta</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see DECENT.impl.DeltaImpl
+		 * @see DECENT.impl.DECENTPackageImpl#getDelta()
+		 * @generated
+		 */
+		EClass DELTA = eINSTANCE.getDelta();
+
+		/**
+		 * The meta object literal for the '<em><b>Activity</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DELTA__ACTIVITY = eINSTANCE.getDelta_Activity();
+
+		/**
+		 * The meta object literal for the '<em><b>On Attribute</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DELTA__ON_ATTRIBUTE = eINSTANCE.getDelta_OnAttribute();
+
+		/**
+		 * The meta object literal for the '<em><b>Target Value</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DELTA__TARGET_VALUE = eINSTANCE.getDelta_TargetValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Source Value</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference DELTA__SOURCE_VALUE = eINSTANCE.getDelta_SourceValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Change</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DELTA__CHANGE = eINSTANCE.getDelta_Change();
+
+	}
+
+} //DECENTPackage
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Delta.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Delta.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Delta.java	(revision 36)
@@ -0,0 +1,160 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Delta</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getActivity <em>Activity</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getOnAttribute <em>On Attribute</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getTargetValue <em>Target Value</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getSourceValue <em>Source Value</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getChange <em>Change</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDelta()
+ * @model
+ * @generated
+ */
+public interface Delta extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Activity</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDeltas <em>Deltas</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activity</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activity</em>' container reference.
+	 * @see #setActivity(Activity)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDelta_Activity()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getDeltas
+	 * @model opposite="deltas" required="true" transient="false"
+	 * @generated
+	 */
+	Activity getActivity();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getActivity <em>Activity</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Activity</em>' container reference.
+	 * @see #getActivity()
+	 * @generated
+	 */
+	void setActivity(Activity value);
+
+	/**
+	 * Returns the value of the '<em><b>On Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>On Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>On Attribute</em>' reference.
+	 * @see #setOnAttribute(Attribute)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDelta_OnAttribute()
+	 * @model required="true"
+	 * @generated
+	 */
+	Attribute getOnAttribute();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getOnAttribute <em>On Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>On Attribute</em>' reference.
+	 * @see #getOnAttribute()
+	 * @generated
+	 */
+	void setOnAttribute(Attribute value);
+
+	/**
+	 * Returns the value of the '<em><b>Target Value</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Target Value</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Target Value</em>' reference.
+	 * @see #setTargetValue(Value)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDelta_TargetValue()
+	 * @model required="true"
+	 * @generated
+	 */
+	Value getTargetValue();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getTargetValue <em>Target Value</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Target Value</em>' reference.
+	 * @see #getTargetValue()
+	 * @generated
+	 */
+	void setTargetValue(Value value);
+
+	/**
+	 * Returns the value of the '<em><b>Source Value</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source Value</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source Value</em>' reference.
+	 * @see #setSourceValue(Value)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDelta_SourceValue()
+	 * @model required="true"
+	 * @generated
+	 */
+	Value getSourceValue();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getSourceValue <em>Source Value</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source Value</em>' reference.
+	 * @see #getSourceValue()
+	 * @generated
+	 */
+	void setSourceValue(Value value);
+
+	/**
+	 * Returns the value of the '<em><b>Change</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Change</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Change</em>' attribute.
+	 * @see #setChange(double)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDelta_Change()
+	 * @model
+	 * @generated
+	 */
+	double getChange();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta#getChange <em>Change</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Change</em>' attribute.
+	 * @see #getChange()
+	 * @generated
+	 */
+	void setChange(double value);
+
+} // Delta
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Dimension.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Dimension.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Dimension.java	(revision 36)
@@ -0,0 +1,17 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dimension</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDimension()
+ * @model
+ * @generated
+ */
+public interface Dimension extends Element {
+} // Dimension
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DoubleListValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DoubleListValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DoubleListValue.java	(revision 36)
@@ -0,0 +1,40 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Double List Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDoubleListValue()
+ * @model
+ * @generated
+ */
+public interface DoubleListValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Double}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDoubleListValue_Content()
+	 * @model
+	 * @generated
+	 */
+	EList<Double> getContent();
+
+} // DoubleListValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DoubleValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DoubleValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/DoubleValue.java	(revision 36)
@@ -0,0 +1,49 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Double Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDoubleValue()
+ * @model
+ * @generated
+ */
+public interface DoubleValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute.
+	 * @see #setContent(double)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getDoubleValue_Content()
+	 * @model
+	 * @generated
+	 */
+	double getContent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue#getContent <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Content</em>' attribute.
+	 * @see #getContent()
+	 * @generated
+	 */
+	void setContent(double value);
+
+} // DoubleValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Element.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Element.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Element.java	(revision 36)
@@ -0,0 +1,78 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element#getID <em>ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getElement()
+ * @model
+ * @generated
+ */
+public interface Element extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getElement_Name()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>ID</b></em>' attribute.
+	 * The default value is <code>"-1"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>ID</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>ID</em>' attribute.
+	 * @see #setID(int)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getElement_ID()
+	 * @model default="-1" required="true"
+	 * @generated
+	 */
+	int getID();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element#getID <em>ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>ID</em>' attribute.
+	 * @see #getID()
+	 * @generated
+	 */
+	void setID(int value);
+
+} // Element
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/IntegerListValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/IntegerListValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/IntegerListValue.java	(revision 36)
@@ -0,0 +1,40 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer List Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getIntegerListValue()
+ * @model
+ * @generated
+ */
+public interface IntegerListValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.Integer}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getIntegerListValue_Content()
+	 * @model
+	 * @generated
+	 */
+	EList<Integer> getContent();
+
+} // IntegerListValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/IntegerValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/IntegerValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/IntegerValue.java	(revision 36)
@@ -0,0 +1,49 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getIntegerValue()
+ * @model
+ * @generated
+ */
+public interface IntegerValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute.
+	 * @see #setContent(int)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getIntegerValue_Content()
+	 * @model
+	 * @generated
+	 */
+	int getContent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue#getContent <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Content</em>' attribute.
+	 * @see #getContent()
+	 * @generated
+	 */
+	void setContent(int value);
+
+} // IntegerValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ListValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ListValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/ListValue.java	(revision 36)
@@ -0,0 +1,42 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>List Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.ListValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getListValue()
+ * @model
+ * @generated
+ */
+public interface ListValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getListValue_Content()
+	 * @model
+	 * @generated
+	 */
+	EList<EObject> getContent();
+
+} // ListValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Location.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Location.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Location.java	(revision 36)
@@ -0,0 +1,96 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Location</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getProject <em>Project</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getArtifacts <em>Artifacts</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getLocation()
+ * @model
+ * @generated
+ */
+public interface Location extends Element {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' reference.
+	 * @see #setType(ArtifactType)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getLocation_Type()
+	 * @model
+	 * @generated
+	 */
+	ArtifactType getType();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getType <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' reference.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(ArtifactType value);
+
+	/**
+	 * Returns the value of the '<em><b>Project</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project#getLocation <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Project</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Project</em>' container reference.
+	 * @see #setProject(Project)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getLocation_Project()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Project#getLocation
+	 * @model opposite="location" required="true" transient="false"
+	 * @generated
+	 */
+	Project getProject();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getProject <em>Project</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Project</em>' container reference.
+	 * @see #getProject()
+	 * @generated
+	 */
+	void setProject(Project value);
+
+	/**
+	 * Returns the value of the '<em><b>Artifacts</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Artifacts</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Artifacts</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getLocation_Artifacts()
+	 * @model containment="true" ordered="false"
+	 * @generated
+	 */
+	EList<Artifact> getArtifacts();
+
+} // Location
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Model.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Model.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Model.java	(revision 36)
@@ -0,0 +1,218 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getContent <em>Content</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getSteps <em>Steps</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getProjects <em>Projects</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getArtifactTypeHierarchy <em>Artifact Type Hierarchy</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAgentPool <em>Agent Pool</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAttributePool <em>Attribute Pool</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getActivityTypes <em>Activity Types</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getDimensions <em>Dimensions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel()
+ * @model
+ * @generated
+ */
+public interface Model extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_Name()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_Content()
+	 * @model
+	 * @generated
+	 */
+	EList<String> getContent();
+
+	/**
+	 * Returns the value of the '<em><b>Steps</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Step}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Steps</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Steps</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_Steps()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Step> getSteps();
+
+	/**
+	 * Returns the value of the '<em><b>Projects</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Project}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Projects</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Projects</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_Projects()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Project> getProjects();
+
+	/**
+	 * Returns the value of the '<em><b>Artifact Type Hierarchy</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Artifact Type Hierarchy</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Artifact Type Hierarchy</em>' containment reference.
+	 * @see #setArtifactTypeHierarchy(ArtifactTypeHierarchy)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_ArtifactTypeHierarchy()
+	 * @model containment="true"
+	 * @generated
+	 */
+	ArtifactTypeHierarchy getArtifactTypeHierarchy();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getArtifactTypeHierarchy <em>Artifact Type Hierarchy</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Artifact Type Hierarchy</em>' containment reference.
+	 * @see #getArtifactTypeHierarchy()
+	 * @generated
+	 */
+	void setArtifactTypeHierarchy(ArtifactTypeHierarchy value);
+
+	/**
+	 * Returns the value of the '<em><b>Agent Pool</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Agent Pool</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agent Pool</em>' containment reference.
+	 * @see #setAgentPool(AgentPool)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_AgentPool()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	AgentPool getAgentPool();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAgentPool <em>Agent Pool</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Agent Pool</em>' containment reference.
+	 * @see #getAgentPool()
+	 * @generated
+	 */
+	void setAgentPool(AgentPool value);
+
+	/**
+	 * Returns the value of the '<em><b>Attribute Pool</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Attribute Pool</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Attribute Pool</em>' containment reference.
+	 * @see #setAttributePool(AttributePool)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_AttributePool()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	AttributePool getAttributePool();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model#getAttributePool <em>Attribute Pool</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Attribute Pool</em>' containment reference.
+	 * @see #getAttributePool()
+	 * @generated
+	 */
+	void setAttributePool(AttributePool value);
+
+	/**
+	 * Returns the value of the '<em><b>Activity Types</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activity Types</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activity Types</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_ActivityTypes()
+	 * @model containment="true" ordered="false"
+	 * @generated
+	 */
+	EList<ActivityType> getActivityTypes();
+
+	/**
+	 * Returns the value of the '<em><b>Dimensions</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Dimension}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimensions</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dimensions</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getModel_Dimensions()
+	 * @model containment="true" ordered="false"
+	 * @generated
+	 */
+	EList<Dimension> getDimensions();
+
+} // Model
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Project.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Project.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Project.java	(revision 36)
@@ -0,0 +1,61 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Project</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project#getAgents <em>Agents</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project#getLocation <em>Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getProject()
+ * @model
+ * @generated
+ */
+public interface Project extends Element {
+	/**
+	 * Returns the value of the '<em><b>Agents</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getProjects <em>Projects</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Agents</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Agents</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getProject_Agents()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent#getProjects
+	 * @model opposite="projects"
+	 * @generated
+	 */
+	EList<Agent> getAgents();
+
+	/**
+	 * Returns the value of the '<em><b>Location</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Location}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location#getProject <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Location</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Location</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getProject_Location()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Location#getProject
+	 * @model opposite="project" containment="true"
+	 * @generated
+	 */
+	EList<Location> getLocation();
+
+} // Project
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/State.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/State.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/State.java	(revision 36)
@@ -0,0 +1,193 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>State</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getArtifact <em>Artifact</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getActivity <em>Activity</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getFromActivity <em>From Activity</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getNext <em>Next</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getPrevious <em>Previous</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getParent <em>Parent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getChildren <em>Children</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState()
+ * @model
+ * @generated
+ */
+public interface State extends Element {
+	/**
+	 * Returns the value of the '<em><b>Artifact</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getStates <em>States</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Artifact</em>' container reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Artifact</em>' container reference.
+	 * @see #setArtifact(Artifact)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Artifact()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact#getStates
+	 * @model opposite="states" required="true" transient="false"
+	 * @generated
+	 */
+	Artifact getArtifact();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getArtifact <em>Artifact</em>}' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Artifact</em>' container reference.
+	 * @see #getArtifact()
+	 * @generated
+	 */
+	void setArtifact(Artifact value);
+
+	/**
+	 * Returns the value of the '<em><b>Activity</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getState <em>State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activity</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activity</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Activity()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getState
+	 * @model opposite="state"
+	 * @generated
+	 */
+	EList<Activity> getActivity();
+
+	/**
+	 * Returns the value of the '<em><b>From Activity</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getTargetState <em>Target State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>From Activity</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>From Activity</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_FromActivity()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity#getTargetState
+	 * @model opposite="targetState"
+	 * @generated
+	 */
+	EList<Activity> getFromActivity();
+
+	/**
+	 * Returns the value of the '<em><b>Next</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.State}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getPrevious <em>Previous</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Next</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Next</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Next()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getPrevious
+	 * @model opposite="previous"
+	 * @generated
+	 */
+	EList<State> getNext();
+
+	/**
+	 * Returns the value of the '<em><b>Previous</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.State}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getNext <em>Next</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Previous</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Previous</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Previous()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getNext
+	 * @model opposite="next"
+	 * @generated
+	 */
+	EList<State> getPrevious();
+
+	/**
+	 * Returns the value of the '<em><b>Parent</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getChildren <em>Children</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Parent</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Parent</em>' reference.
+	 * @see #setParent(State)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Parent()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getChildren
+	 * @model opposite="children"
+	 * @generated
+	 */
+	State getParent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getParent <em>Parent</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Parent</em>' reference.
+	 * @see #getParent()
+	 * @generated
+	 */
+	void setParent(State value);
+
+	/**
+	 * Returns the value of the '<em><b>Children</b></em>' reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.State}.
+	 * It is bidirectional and its opposite is '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State#getParent <em>Parent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Children</em>' reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Children</em>' reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Children()
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State#getParent
+	 * @model opposite="parent"
+	 * @generated
+	 */
+	EList<State> getChildren();
+
+	/**
+	 * Returns the value of the '<em><b>Values</b></em>' containment reference list.
+	 * The list contents are of type {@link de.ugoe.cs.cpdp.decentApp.models.decent.Value}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Values</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Values</em>' containment reference list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getState_Values()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<Value> getValues();
+
+} // State
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Step.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Step.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Step.java	(revision 36)
@@ -0,0 +1,49 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Step</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Step#getDuration <em>Duration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getStep()
+ * @model
+ * @generated
+ */
+public interface Step extends Element {
+	/**
+	 * Returns the value of the '<em><b>Duration</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Duration</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Duration</em>' attribute.
+	 * @see #setDuration(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getStep_Duration()
+	 * @model
+	 * @generated
+	 */
+	String getDuration();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Step#getDuration <em>Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Duration</em>' attribute.
+	 * @see #getDuration()
+	 * @generated
+	 */
+	void setDuration(String value);
+
+} // Step
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/StringListValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/StringListValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/StringListValue.java	(revision 36)
@@ -0,0 +1,40 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String List Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getStringListValue()
+ * @model
+ * @generated
+ */
+public interface StringListValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute list.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getStringListValue_Content()
+	 * @model
+	 * @generated
+	 */
+	EList<String> getContent();
+
+} // StringListValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/StringValue.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/StringValue.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/StringValue.java	(revision 36)
@@ -0,0 +1,49 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringValue#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getStringValue()
+ * @model
+ * @generated
+ */
+public interface StringValue extends Value {
+	/**
+	 * Returns the value of the '<em><b>Content</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Content</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Content</em>' attribute.
+	 * @see #setContent(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getStringValue_Content()
+	 * @model
+	 * @generated
+	 */
+	String getContent();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringValue#getContent <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Content</em>' attribute.
+	 * @see #getContent()
+	 * @generated
+	 */
+	void setContent(String value);
+
+} // StringValue
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Value.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Value.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/Value.java	(revision 36)
@@ -0,0 +1,77 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value#getOfAttribute <em>Of Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getValue()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Value extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getValue_Name()
+	 * @model
+	 * @generated
+	 */
+	String getName();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
+	void setName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Of Attribute</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Of Attribute</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Of Attribute</em>' reference.
+	 * @see #setOfAttribute(Attribute)
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#getValue_OfAttribute()
+	 * @model required="true"
+	 * @generated
+	 */
+	Attribute getOfAttribute();
+
+	/**
+	 * Sets the value of the '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value#getOfAttribute <em>Of Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Of Attribute</em>' reference.
+	 * @see #getOfAttribute()
+	 * @generated
+	 */
+	void setOfAttribute(Attribute value);
+
+} // Value
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ActivityImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ActivityImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ActivityImpl.java	(revision 36)
@@ -0,0 +1,647 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+import java.util.Date;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getAgent <em>Agent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getState <em>State</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getTargetState <em>Target State</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getDeltas <em>Deltas</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getDate <em>Date</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getValues <em>Values</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityImpl#getAgentState <em>Agent State</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActivityImpl extends ElementImpl implements Activity {
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ActivityType> type;
+
+	/**
+	 * The cached value of the '{@link #getState() <em>State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getState()
+	 * @generated
+	 * @ordered
+	 */
+	protected State state;
+
+	/**
+	 * The cached value of the '{@link #getTargetState() <em>Target State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetState()
+	 * @generated
+	 * @ordered
+	 */
+	protected State targetState;
+
+	/**
+	 * The cached value of the '{@link #getDeltas() <em>Deltas</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDeltas()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Delta> deltas;
+
+	/**
+	 * The default value of the '{@link #getDate() <em>Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDate()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Date DATE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDate() <em>Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDate()
+	 * @generated
+	 * @ordered
+	 */
+	protected Date date = DATE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Value> values;
+
+	/**
+	 * The cached value of the '{@link #getAgentState() <em>Agent State</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentState()
+	 * @generated
+	 * @ordered
+	 */
+	protected AgentState agentState;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ActivityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ACTIVITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ActivityType> getType() {
+		if (type == null) {
+			type = new EObjectResolvingEList<ActivityType>(ActivityType.class, this, DECENTPackage.ACTIVITY__TYPE);
+		}
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Agent getAgent() {
+		if (eContainerFeatureID() != DECENTPackage.ACTIVITY__AGENT) return null;
+		return (Agent)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAgent(Agent newAgent, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newAgent, DECENTPackage.ACTIVITY__AGENT, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgent(Agent newAgent) {
+		if (newAgent != eInternalContainer() || (eContainerFeatureID() != DECENTPackage.ACTIVITY__AGENT && newAgent != null)) {
+			if (EcoreUtil.isAncestor(this, newAgent))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newAgent != null)
+				msgs = ((InternalEObject)newAgent).eInverseAdd(this, DECENTPackage.AGENT__ACTIVITIES, Agent.class, msgs);
+			msgs = basicSetAgent(newAgent, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__AGENT, newAgent, newAgent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getState() {
+		if (state != null && state.eIsProxy()) {
+			InternalEObject oldState = (InternalEObject)state;
+			state = (State)eResolveProxy(oldState);
+			if (state != oldState) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.ACTIVITY__STATE, oldState, state));
+			}
+		}
+		return state;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetState() {
+		return state;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetState(State newState, NotificationChain msgs) {
+		State oldState = state;
+		state = newState;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__STATE, oldState, newState);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setState(State newState) {
+		if (newState != state) {
+			NotificationChain msgs = null;
+			if (state != null)
+				msgs = ((InternalEObject)state).eInverseRemove(this, DECENTPackage.STATE__ACTIVITY, State.class, msgs);
+			if (newState != null)
+				msgs = ((InternalEObject)newState).eInverseAdd(this, DECENTPackage.STATE__ACTIVITY, State.class, msgs);
+			msgs = basicSetState(newState, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__STATE, newState, newState));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getTargetState() {
+		if (targetState != null && targetState.eIsProxy()) {
+			InternalEObject oldTargetState = (InternalEObject)targetState;
+			targetState = (State)eResolveProxy(oldTargetState);
+			if (targetState != oldTargetState) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.ACTIVITY__TARGET_STATE, oldTargetState, targetState));
+			}
+		}
+		return targetState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetTargetState() {
+		return targetState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetTargetState(State newTargetState, NotificationChain msgs) {
+		State oldTargetState = targetState;
+		targetState = newTargetState;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__TARGET_STATE, oldTargetState, newTargetState);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTargetState(State newTargetState) {
+		if (newTargetState != targetState) {
+			NotificationChain msgs = null;
+			if (targetState != null)
+				msgs = ((InternalEObject)targetState).eInverseRemove(this, DECENTPackage.STATE__FROM_ACTIVITY, State.class, msgs);
+			if (newTargetState != null)
+				msgs = ((InternalEObject)newTargetState).eInverseAdd(this, DECENTPackage.STATE__FROM_ACTIVITY, State.class, msgs);
+			msgs = basicSetTargetState(newTargetState, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__TARGET_STATE, newTargetState, newTargetState));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Delta> getDeltas() {
+		if (deltas == null) {
+			deltas = new EObjectContainmentWithInverseEList<Delta>(Delta.class, this, DECENTPackage.ACTIVITY__DELTAS, DECENTPackage.DELTA__ACTIVITY);
+		}
+		return deltas;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Date getDate() {
+		return date;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDate(Date newDate) {
+		Date oldDate = date;
+		date = newDate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__DATE, oldDate, date));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Value> getValues() {
+		if (values == null) {
+			values = new EObjectContainmentEList<Value>(Value.class, this, DECENTPackage.ACTIVITY__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState getAgentState() {
+		if (agentState != null && agentState.eIsProxy()) {
+			InternalEObject oldAgentState = (InternalEObject)agentState;
+			agentState = (AgentState)eResolveProxy(oldAgentState);
+			if (agentState != oldAgentState) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.ACTIVITY__AGENT_STATE, oldAgentState, agentState));
+			}
+		}
+		return agentState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState basicGetAgentState() {
+		return agentState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAgentState(AgentState newAgentState, NotificationChain msgs) {
+		AgentState oldAgentState = agentState;
+		agentState = newAgentState;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__AGENT_STATE, oldAgentState, newAgentState);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgentState(AgentState newAgentState) {
+		if (newAgentState != agentState) {
+			NotificationChain msgs = null;
+			if (agentState != null)
+				msgs = ((InternalEObject)agentState).eInverseRemove(this, DECENTPackage.AGENT_STATE__ACTIVITIES, AgentState.class, msgs);
+			if (newAgentState != null)
+				msgs = ((InternalEObject)newAgentState).eInverseAdd(this, DECENTPackage.AGENT_STATE__ACTIVITIES, AgentState.class, msgs);
+			msgs = basicSetAgentState(newAgentState, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ACTIVITY__AGENT_STATE, newAgentState, newAgentState));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY__AGENT:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetAgent((Agent)otherEnd, msgs);
+			case DECENTPackage.ACTIVITY__STATE:
+				if (state != null)
+					msgs = ((InternalEObject)state).eInverseRemove(this, DECENTPackage.STATE__ACTIVITY, State.class, msgs);
+				return basicSetState((State)otherEnd, msgs);
+			case DECENTPackage.ACTIVITY__TARGET_STATE:
+				if (targetState != null)
+					msgs = ((InternalEObject)targetState).eInverseRemove(this, DECENTPackage.STATE__FROM_ACTIVITY, State.class, msgs);
+				return basicSetTargetState((State)otherEnd, msgs);
+			case DECENTPackage.ACTIVITY__DELTAS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getDeltas()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.ACTIVITY__AGENT_STATE:
+				if (agentState != null)
+					msgs = ((InternalEObject)agentState).eInverseRemove(this, DECENTPackage.AGENT_STATE__ACTIVITIES, AgentState.class, msgs);
+				return basicSetAgentState((AgentState)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY__AGENT:
+				return basicSetAgent(null, msgs);
+			case DECENTPackage.ACTIVITY__STATE:
+				return basicSetState(null, msgs);
+			case DECENTPackage.ACTIVITY__TARGET_STATE:
+				return basicSetTargetState(null, msgs);
+			case DECENTPackage.ACTIVITY__DELTAS:
+				return ((InternalEList<?>)getDeltas()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.ACTIVITY__VALUES:
+				return ((InternalEList<?>)getValues()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.ACTIVITY__AGENT_STATE:
+				return basicSetAgentState(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case DECENTPackage.ACTIVITY__AGENT:
+				return eInternalContainer().eInverseRemove(this, DECENTPackage.AGENT__ACTIVITIES, Agent.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY__TYPE:
+				return getType();
+			case DECENTPackage.ACTIVITY__AGENT:
+				return getAgent();
+			case DECENTPackage.ACTIVITY__STATE:
+				if (resolve) return getState();
+				return basicGetState();
+			case DECENTPackage.ACTIVITY__TARGET_STATE:
+				if (resolve) return getTargetState();
+				return basicGetTargetState();
+			case DECENTPackage.ACTIVITY__DELTAS:
+				return getDeltas();
+			case DECENTPackage.ACTIVITY__DATE:
+				return getDate();
+			case DECENTPackage.ACTIVITY__VALUES:
+				return getValues();
+			case DECENTPackage.ACTIVITY__AGENT_STATE:
+				if (resolve) return getAgentState();
+				return basicGetAgentState();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY__TYPE:
+				getType().clear();
+				getType().addAll((Collection<? extends ActivityType>)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__AGENT:
+				setAgent((Agent)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__STATE:
+				setState((State)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__TARGET_STATE:
+				setTargetState((State)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__DELTAS:
+				getDeltas().clear();
+				getDeltas().addAll((Collection<? extends Delta>)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__DATE:
+				setDate((Date)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends Value>)newValue);
+				return;
+			case DECENTPackage.ACTIVITY__AGENT_STATE:
+				setAgentState((AgentState)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY__TYPE:
+				getType().clear();
+				return;
+			case DECENTPackage.ACTIVITY__AGENT:
+				setAgent((Agent)null);
+				return;
+			case DECENTPackage.ACTIVITY__STATE:
+				setState((State)null);
+				return;
+			case DECENTPackage.ACTIVITY__TARGET_STATE:
+				setTargetState((State)null);
+				return;
+			case DECENTPackage.ACTIVITY__DELTAS:
+				getDeltas().clear();
+				return;
+			case DECENTPackage.ACTIVITY__DATE:
+				setDate(DATE_EDEFAULT);
+				return;
+			case DECENTPackage.ACTIVITY__VALUES:
+				getValues().clear();
+				return;
+			case DECENTPackage.ACTIVITY__AGENT_STATE:
+				setAgentState((AgentState)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY__TYPE:
+				return type != null && !type.isEmpty();
+			case DECENTPackage.ACTIVITY__AGENT:
+				return getAgent() != null;
+			case DECENTPackage.ACTIVITY__STATE:
+				return state != null;
+			case DECENTPackage.ACTIVITY__TARGET_STATE:
+				return targetState != null;
+			case DECENTPackage.ACTIVITY__DELTAS:
+				return deltas != null && !deltas.isEmpty();
+			case DECENTPackage.ACTIVITY__DATE:
+				return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals(date);
+			case DECENTPackage.ACTIVITY__VALUES:
+				return values != null && !values.isEmpty();
+			case DECENTPackage.ACTIVITY__AGENT_STATE:
+				return agentState != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (date: ");
+		result.append(date);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ActivityImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ActivityTypeImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ActivityTypeImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ActivityTypeImpl.java	(revision 36)
@@ -0,0 +1,130 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activity Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ActivityTypeImpl#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActivityTypeImpl extends ElementImpl implements ActivityType {
+	/**
+	 * The cached value of the '{@link #getDimension() <em>Dimension</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDimension()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Dimension> dimension;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ActivityTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ACTIVITY_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Dimension> getDimension() {
+		if (dimension == null) {
+			dimension = new EObjectResolvingEList<Dimension>(Dimension.class, this, DECENTPackage.ACTIVITY_TYPE__DIMENSION);
+		}
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY_TYPE__DIMENSION:
+				return getDimension();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY_TYPE__DIMENSION:
+				getDimension().clear();
+				getDimension().addAll((Collection<? extends Dimension>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY_TYPE__DIMENSION:
+				getDimension().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ACTIVITY_TYPE__DIMENSION:
+				return dimension != null && !dimension.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ActivityTypeImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentImpl.java	(revision 36)
@@ -0,0 +1,360 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Agent</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentImpl#getEMail <em>EMail</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentImpl#getProjects <em>Projects</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentImpl#getActivities <em>Activities</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentImpl#getStates <em>States</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AgentImpl extends ElementImpl implements Agent {
+	/**
+	 * The default value of the '{@link #getEMail() <em>EMail</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEMail()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EMAIL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEMail() <em>EMail</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEMail()
+	 * @generated
+	 * @ordered
+	 */
+	protected String eMail = EMAIL_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getProjects() <em>Projects</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProjects()
+	 * @generated
+	 * @ordered
+	 */
+	protected Project projects;
+
+	/**
+	 * The cached value of the '{@link #getActivities() <em>Activities</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivities()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> activities;
+
+	/**
+	 * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStates()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<AgentState> states;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AgentImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.AGENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEMail() {
+		return eMail;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEMail(String newEMail) {
+		String oldEMail = eMail;
+		eMail = newEMail;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT__EMAIL, oldEMail, eMail));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Project getProjects() {
+		if (projects != null && projects.eIsProxy()) {
+			InternalEObject oldProjects = (InternalEObject)projects;
+			projects = (Project)eResolveProxy(oldProjects);
+			if (projects != oldProjects) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.AGENT__PROJECTS, oldProjects, projects));
+			}
+		}
+		return projects;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Project basicGetProjects() {
+		return projects;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetProjects(Project newProjects, NotificationChain msgs) {
+		Project oldProjects = projects;
+		projects = newProjects;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT__PROJECTS, oldProjects, newProjects);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProjects(Project newProjects) {
+		if (newProjects != projects) {
+			NotificationChain msgs = null;
+			if (projects != null)
+				msgs = ((InternalEObject)projects).eInverseRemove(this, DECENTPackage.PROJECT__AGENTS, Project.class, msgs);
+			if (newProjects != null)
+				msgs = ((InternalEObject)newProjects).eInverseAdd(this, DECENTPackage.PROJECT__AGENTS, Project.class, msgs);
+			msgs = basicSetProjects(newProjects, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT__PROJECTS, newProjects, newProjects));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getActivities() {
+		if (activities == null) {
+			activities = new EObjectContainmentWithInverseEList<Activity>(Activity.class, this, DECENTPackage.AGENT__ACTIVITIES, DECENTPackage.ACTIVITY__AGENT);
+		}
+		return activities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<AgentState> getStates() {
+		if (states == null) {
+			states = new EObjectContainmentWithInverseEList<AgentState>(AgentState.class, this, DECENTPackage.AGENT__STATES, DECENTPackage.AGENT_STATE__AGENT);
+		}
+		return states;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.AGENT__PROJECTS:
+				if (projects != null)
+					msgs = ((InternalEObject)projects).eInverseRemove(this, DECENTPackage.PROJECT__AGENTS, Project.class, msgs);
+				return basicSetProjects((Project)otherEnd, msgs);
+			case DECENTPackage.AGENT__ACTIVITIES:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getActivities()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.AGENT__STATES:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getStates()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.AGENT__PROJECTS:
+				return basicSetProjects(null, msgs);
+			case DECENTPackage.AGENT__ACTIVITIES:
+				return ((InternalEList<?>)getActivities()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.AGENT__STATES:
+				return ((InternalEList<?>)getStates()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.AGENT__EMAIL:
+				return getEMail();
+			case DECENTPackage.AGENT__PROJECTS:
+				if (resolve) return getProjects();
+				return basicGetProjects();
+			case DECENTPackage.AGENT__ACTIVITIES:
+				return getActivities();
+			case DECENTPackage.AGENT__STATES:
+				return getStates();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.AGENT__EMAIL:
+				setEMail((String)newValue);
+				return;
+			case DECENTPackage.AGENT__PROJECTS:
+				setProjects((Project)newValue);
+				return;
+			case DECENTPackage.AGENT__ACTIVITIES:
+				getActivities().clear();
+				getActivities().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case DECENTPackage.AGENT__STATES:
+				getStates().clear();
+				getStates().addAll((Collection<? extends AgentState>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.AGENT__EMAIL:
+				setEMail(EMAIL_EDEFAULT);
+				return;
+			case DECENTPackage.AGENT__PROJECTS:
+				setProjects((Project)null);
+				return;
+			case DECENTPackage.AGENT__ACTIVITIES:
+				getActivities().clear();
+				return;
+			case DECENTPackage.AGENT__STATES:
+				getStates().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.AGENT__EMAIL:
+				return EMAIL_EDEFAULT == null ? eMail != null : !EMAIL_EDEFAULT.equals(eMail);
+			case DECENTPackage.AGENT__PROJECTS:
+				return projects != null;
+			case DECENTPackage.AGENT__ACTIVITIES:
+				return activities != null && !activities.isEmpty();
+			case DECENTPackage.AGENT__STATES:
+				return states != null && !states.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (eMail: ");
+		result.append(eMail);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AgentImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentPoolImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentPoolImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentPoolImpl.java	(revision 36)
@@ -0,0 +1,148 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Agent Pool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentPoolImpl#getAgents <em>Agents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AgentPoolImpl extends MinimalEObjectImpl.Container implements AgentPool {
+	/**
+	 * The cached value of the '{@link #getAgents() <em>Agents</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgents()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Agent> agents;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AgentPoolImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.AGENT_POOL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Agent> getAgents() {
+		if (agents == null) {
+			agents = new EObjectContainmentEList<Agent>(Agent.class, this, DECENTPackage.AGENT_POOL__AGENTS);
+		}
+		return agents;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_POOL__AGENTS:
+				return ((InternalEList<?>)getAgents()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_POOL__AGENTS:
+				return getAgents();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_POOL__AGENTS:
+				getAgents().clear();
+				getAgents().addAll((Collection<? extends Agent>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_POOL__AGENTS:
+				getAgents().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_POOL__AGENTS:
+				return agents != null && !agents.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AgentPoolImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentStateImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentStateImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AgentStateImpl.java	(revision 36)
@@ -0,0 +1,521 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+import java.util.Date;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Agent State</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentStateImpl#getDate <em>Date</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentStateImpl#getAgent <em>Agent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentStateImpl#getActivities <em>Activities</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentStateImpl#getNext <em>Next</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentStateImpl#getPrevious <em>Previous</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AgentStateImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AgentStateImpl extends ElementImpl implements AgentState {
+	/**
+	 * The default value of the '{@link #getDate() <em>Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDate()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Date DATE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDate() <em>Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDate()
+	 * @generated
+	 * @ordered
+	 */
+	protected Date date = DATE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getActivities() <em>Activities</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivities()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> activities;
+
+	/**
+	 * The cached value of the '{@link #getNext() <em>Next</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNext()
+	 * @generated
+	 * @ordered
+	 */
+	protected AgentState next;
+
+	/**
+	 * The cached value of the '{@link #getPrevious() <em>Previous</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPrevious()
+	 * @generated
+	 * @ordered
+	 */
+	protected AgentState previous;
+
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Value> values;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AgentStateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.AGENT_STATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Date getDate() {
+		return date;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDate(Date newDate) {
+		Date oldDate = date;
+		date = newDate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT_STATE__DATE, oldDate, date));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Agent getAgent() {
+		if (eContainerFeatureID() != DECENTPackage.AGENT_STATE__AGENT) return null;
+		return (Agent)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAgent(Agent newAgent, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newAgent, DECENTPackage.AGENT_STATE__AGENT, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgent(Agent newAgent) {
+		if (newAgent != eInternalContainer() || (eContainerFeatureID() != DECENTPackage.AGENT_STATE__AGENT && newAgent != null)) {
+			if (EcoreUtil.isAncestor(this, newAgent))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newAgent != null)
+				msgs = ((InternalEObject)newAgent).eInverseAdd(this, DECENTPackage.AGENT__STATES, Agent.class, msgs);
+			msgs = basicSetAgent(newAgent, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT_STATE__AGENT, newAgent, newAgent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getActivities() {
+		if (activities == null) {
+			activities = new EObjectWithInverseResolvingEList<Activity>(Activity.class, this, DECENTPackage.AGENT_STATE__ACTIVITIES, DECENTPackage.ACTIVITY__AGENT_STATE);
+		}
+		return activities;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState getNext() {
+		if (next != null && next.eIsProxy()) {
+			InternalEObject oldNext = (InternalEObject)next;
+			next = (AgentState)eResolveProxy(oldNext);
+			if (next != oldNext) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.AGENT_STATE__NEXT, oldNext, next));
+			}
+		}
+		return next;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState basicGetNext() {
+		return next;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetNext(AgentState newNext, NotificationChain msgs) {
+		AgentState oldNext = next;
+		next = newNext;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT_STATE__NEXT, oldNext, newNext);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setNext(AgentState newNext) {
+		if (newNext != next) {
+			NotificationChain msgs = null;
+			if (next != null)
+				msgs = ((InternalEObject)next).eInverseRemove(this, DECENTPackage.AGENT_STATE__PREVIOUS, AgentState.class, msgs);
+			if (newNext != null)
+				msgs = ((InternalEObject)newNext).eInverseAdd(this, DECENTPackage.AGENT_STATE__PREVIOUS, AgentState.class, msgs);
+			msgs = basicSetNext(newNext, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT_STATE__NEXT, newNext, newNext));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState getPrevious() {
+		if (previous != null && previous.eIsProxy()) {
+			InternalEObject oldPrevious = (InternalEObject)previous;
+			previous = (AgentState)eResolveProxy(oldPrevious);
+			if (previous != oldPrevious) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.AGENT_STATE__PREVIOUS, oldPrevious, previous));
+			}
+		}
+		return previous;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState basicGetPrevious() {
+		return previous;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPrevious(AgentState newPrevious, NotificationChain msgs) {
+		AgentState oldPrevious = previous;
+		previous = newPrevious;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT_STATE__PREVIOUS, oldPrevious, newPrevious);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPrevious(AgentState newPrevious) {
+		if (newPrevious != previous) {
+			NotificationChain msgs = null;
+			if (previous != null)
+				msgs = ((InternalEObject)previous).eInverseRemove(this, DECENTPackage.AGENT_STATE__NEXT, AgentState.class, msgs);
+			if (newPrevious != null)
+				msgs = ((InternalEObject)newPrevious).eInverseAdd(this, DECENTPackage.AGENT_STATE__NEXT, AgentState.class, msgs);
+			msgs = basicSetPrevious(newPrevious, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.AGENT_STATE__PREVIOUS, newPrevious, newPrevious));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Value> getValues() {
+		if (values == null) {
+			values = new EObjectContainmentEList<Value>(Value.class, this, DECENTPackage.AGENT_STATE__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_STATE__AGENT:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetAgent((Agent)otherEnd, msgs);
+			case DECENTPackage.AGENT_STATE__ACTIVITIES:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getActivities()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.AGENT_STATE__NEXT:
+				if (next != null)
+					msgs = ((InternalEObject)next).eInverseRemove(this, DECENTPackage.AGENT_STATE__PREVIOUS, AgentState.class, msgs);
+				return basicSetNext((AgentState)otherEnd, msgs);
+			case DECENTPackage.AGENT_STATE__PREVIOUS:
+				if (previous != null)
+					msgs = ((InternalEObject)previous).eInverseRemove(this, DECENTPackage.AGENT_STATE__NEXT, AgentState.class, msgs);
+				return basicSetPrevious((AgentState)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_STATE__AGENT:
+				return basicSetAgent(null, msgs);
+			case DECENTPackage.AGENT_STATE__ACTIVITIES:
+				return ((InternalEList<?>)getActivities()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.AGENT_STATE__NEXT:
+				return basicSetNext(null, msgs);
+			case DECENTPackage.AGENT_STATE__PREVIOUS:
+				return basicSetPrevious(null, msgs);
+			case DECENTPackage.AGENT_STATE__VALUES:
+				return ((InternalEList<?>)getValues()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case DECENTPackage.AGENT_STATE__AGENT:
+				return eInternalContainer().eInverseRemove(this, DECENTPackage.AGENT__STATES, Agent.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_STATE__DATE:
+				return getDate();
+			case DECENTPackage.AGENT_STATE__AGENT:
+				return getAgent();
+			case DECENTPackage.AGENT_STATE__ACTIVITIES:
+				return getActivities();
+			case DECENTPackage.AGENT_STATE__NEXT:
+				if (resolve) return getNext();
+				return basicGetNext();
+			case DECENTPackage.AGENT_STATE__PREVIOUS:
+				if (resolve) return getPrevious();
+				return basicGetPrevious();
+			case DECENTPackage.AGENT_STATE__VALUES:
+				return getValues();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_STATE__DATE:
+				setDate((Date)newValue);
+				return;
+			case DECENTPackage.AGENT_STATE__AGENT:
+				setAgent((Agent)newValue);
+				return;
+			case DECENTPackage.AGENT_STATE__ACTIVITIES:
+				getActivities().clear();
+				getActivities().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case DECENTPackage.AGENT_STATE__NEXT:
+				setNext((AgentState)newValue);
+				return;
+			case DECENTPackage.AGENT_STATE__PREVIOUS:
+				setPrevious((AgentState)newValue);
+				return;
+			case DECENTPackage.AGENT_STATE__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends Value>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_STATE__DATE:
+				setDate(DATE_EDEFAULT);
+				return;
+			case DECENTPackage.AGENT_STATE__AGENT:
+				setAgent((Agent)null);
+				return;
+			case DECENTPackage.AGENT_STATE__ACTIVITIES:
+				getActivities().clear();
+				return;
+			case DECENTPackage.AGENT_STATE__NEXT:
+				setNext((AgentState)null);
+				return;
+			case DECENTPackage.AGENT_STATE__PREVIOUS:
+				setPrevious((AgentState)null);
+				return;
+			case DECENTPackage.AGENT_STATE__VALUES:
+				getValues().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.AGENT_STATE__DATE:
+				return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals(date);
+			case DECENTPackage.AGENT_STATE__AGENT:
+				return getAgent() != null;
+			case DECENTPackage.AGENT_STATE__ACTIVITIES:
+				return activities != null && !activities.isEmpty();
+			case DECENTPackage.AGENT_STATE__NEXT:
+				return next != null;
+			case DECENTPackage.AGENT_STATE__PREVIOUS:
+				return previous != null;
+			case DECENTPackage.AGENT_STATE__VALUES:
+				return values != null && !values.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (date: ");
+		result.append(date);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AgentStateImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactImpl.java	(revision 36)
@@ -0,0 +1,372 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Artifact</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactImpl#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactImpl#getParent <em>Parent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactImpl#getChildren <em>Children</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactImpl#getStates <em>States</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactImpl#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArtifactImpl extends ElementImpl implements Artifact {
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected ArtifactType type;
+
+	/**
+	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChildren()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Artifact> children;
+
+	/**
+	 * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStates()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<State> states;
+
+	/**
+	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Attribute> attributes;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArtifactImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ARTIFACT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactType getType() {
+		if (type != null && type.eIsProxy()) {
+			InternalEObject oldType = (InternalEObject)type;
+			type = (ArtifactType)eResolveProxy(oldType);
+			if (type != oldType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.ARTIFACT__TYPE, oldType, type));
+			}
+		}
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactType basicGetType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(ArtifactType newType) {
+		ArtifactType oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ARTIFACT__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Artifact getParent() {
+		if (eContainerFeatureID() != DECENTPackage.ARTIFACT__PARENT) return null;
+		return (Artifact)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetParent(Artifact newParent, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newParent, DECENTPackage.ARTIFACT__PARENT, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParent(Artifact newParent) {
+		if (newParent != eInternalContainer() || (eContainerFeatureID() != DECENTPackage.ARTIFACT__PARENT && newParent != null)) {
+			if (EcoreUtil.isAncestor(this, newParent))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newParent != null)
+				msgs = ((InternalEObject)newParent).eInverseAdd(this, DECENTPackage.ARTIFACT__CHILDREN, Artifact.class, msgs);
+			msgs = basicSetParent(newParent, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ARTIFACT__PARENT, newParent, newParent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Artifact> getChildren() {
+		if (children == null) {
+			children = new EObjectContainmentWithInverseEList<Artifact>(Artifact.class, this, DECENTPackage.ARTIFACT__CHILDREN, DECENTPackage.ARTIFACT__PARENT);
+		}
+		return children;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<State> getStates() {
+		if (states == null) {
+			states = new EObjectContainmentWithInverseEList<State>(State.class, this, DECENTPackage.ARTIFACT__STATES, DECENTPackage.STATE__ARTIFACT);
+		}
+		return states;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Attribute> getAttributes() {
+		if (attributes == null) {
+			attributes = new EObjectResolvingEList<Attribute>(Attribute.class, this, DECENTPackage.ARTIFACT__ATTRIBUTES);
+		}
+		return attributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT__PARENT:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetParent((Artifact)otherEnd, msgs);
+			case DECENTPackage.ARTIFACT__CHILDREN:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.ARTIFACT__STATES:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getStates()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT__PARENT:
+				return basicSetParent(null, msgs);
+			case DECENTPackage.ARTIFACT__CHILDREN:
+				return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.ARTIFACT__STATES:
+				return ((InternalEList<?>)getStates()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case DECENTPackage.ARTIFACT__PARENT:
+				return eInternalContainer().eInverseRemove(this, DECENTPackage.ARTIFACT__CHILDREN, Artifact.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT__TYPE:
+				if (resolve) return getType();
+				return basicGetType();
+			case DECENTPackage.ARTIFACT__PARENT:
+				return getParent();
+			case DECENTPackage.ARTIFACT__CHILDREN:
+				return getChildren();
+			case DECENTPackage.ARTIFACT__STATES:
+				return getStates();
+			case DECENTPackage.ARTIFACT__ATTRIBUTES:
+				return getAttributes();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT__TYPE:
+				setType((ArtifactType)newValue);
+				return;
+			case DECENTPackage.ARTIFACT__PARENT:
+				setParent((Artifact)newValue);
+				return;
+			case DECENTPackage.ARTIFACT__CHILDREN:
+				getChildren().clear();
+				getChildren().addAll((Collection<? extends Artifact>)newValue);
+				return;
+			case DECENTPackage.ARTIFACT__STATES:
+				getStates().clear();
+				getStates().addAll((Collection<? extends State>)newValue);
+				return;
+			case DECENTPackage.ARTIFACT__ATTRIBUTES:
+				getAttributes().clear();
+				getAttributes().addAll((Collection<? extends Attribute>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT__TYPE:
+				setType((ArtifactType)null);
+				return;
+			case DECENTPackage.ARTIFACT__PARENT:
+				setParent((Artifact)null);
+				return;
+			case DECENTPackage.ARTIFACT__CHILDREN:
+				getChildren().clear();
+				return;
+			case DECENTPackage.ARTIFACT__STATES:
+				getStates().clear();
+				return;
+			case DECENTPackage.ARTIFACT__ATTRIBUTES:
+				getAttributes().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT__TYPE:
+				return type != null;
+			case DECENTPackage.ARTIFACT__PARENT:
+				return getParent() != null;
+			case DECENTPackage.ARTIFACT__CHILDREN:
+				return children != null && !children.isEmpty();
+			case DECENTPackage.ARTIFACT__STATES:
+				return states != null && !states.isEmpty();
+			case DECENTPackage.ARTIFACT__ATTRIBUTES:
+				return attributes != null && !attributes.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArtifactImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactTypeHierarchyImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactTypeHierarchyImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactTypeHierarchyImpl.java	(revision 36)
@@ -0,0 +1,148 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Artifact Type Hierarchy</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactTypeHierarchyImpl#getTypes <em>Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArtifactTypeHierarchyImpl extends MinimalEObjectImpl.Container implements ArtifactTypeHierarchy {
+	/**
+	 * The cached value of the '{@link #getTypes() <em>Types</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ArtifactType> types;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArtifactTypeHierarchyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ARTIFACT_TYPE_HIERARCHY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ArtifactType> getTypes() {
+		if (types == null) {
+			types = new EObjectContainmentEList<ArtifactType>(ArtifactType.class, this, DECENTPackage.ARTIFACT_TYPE_HIERARCHY__TYPES);
+		}
+		return types;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY__TYPES:
+				return ((InternalEList<?>)getTypes()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY__TYPES:
+				return getTypes();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY__TYPES:
+				getTypes().clear();
+				getTypes().addAll((Collection<? extends ArtifactType>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY__TYPES:
+				getTypes().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY__TYPES:
+				return types != null && !types.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArtifactTypeHierarchyImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactTypeImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactTypeImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ArtifactTypeImpl.java	(revision 36)
@@ -0,0 +1,129 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Artifact Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ArtifactTypeImpl#getContainerTypes <em>Container Types</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArtifactTypeImpl extends ElementImpl implements ArtifactType {
+	/**
+	 * The cached value of the '{@link #getContainerTypes() <em>Container Types</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContainerTypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ArtifactType> containerTypes;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArtifactTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ARTIFACT_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ArtifactType> getContainerTypes() {
+		if (containerTypes == null) {
+			containerTypes = new EObjectResolvingEList<ArtifactType>(ArtifactType.class, this, DECENTPackage.ARTIFACT_TYPE__CONTAINER_TYPES);
+		}
+		return containerTypes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE__CONTAINER_TYPES:
+				return getContainerTypes();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE__CONTAINER_TYPES:
+				getContainerTypes().clear();
+				getContainerTypes().addAll((Collection<? extends ArtifactType>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE__CONTAINER_TYPES:
+				getContainerTypes().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ARTIFACT_TYPE__CONTAINER_TYPES:
+				return containerTypes != null && !containerTypes.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArtifactTypeImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AttributeImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AttributeImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AttributeImpl.java	(revision 36)
@@ -0,0 +1,297 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AttributeImpl#getArtifactTypes <em>Artifact Types</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AttributeImpl#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AttributeImpl#getDimension <em>Dimension</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AttributeImpl#getDescription <em>Description</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeImpl extends ElementImpl implements Attribute {
+	/**
+	 * The cached value of the '{@link #getArtifactTypes() <em>Artifact Types</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getArtifactTypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ArtifactType> artifactTypes;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected EDataType type;
+
+	/**
+	 * The cached value of the '{@link #getDimension() <em>Dimension</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDimension()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Dimension> dimension;
+
+	/**
+	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String description = DESCRIPTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AttributeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ATTRIBUTE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ArtifactType> getArtifactTypes() {
+		if (artifactTypes == null) {
+			artifactTypes = new EObjectResolvingEList<ArtifactType>(ArtifactType.class, this, DECENTPackage.ATTRIBUTE__ARTIFACT_TYPES);
+		}
+		return artifactTypes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getType() {
+		if (type != null && type.eIsProxy()) {
+			InternalEObject oldType = (InternalEObject)type;
+			type = (EDataType)eResolveProxy(oldType);
+			if (type != oldType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.ATTRIBUTE__TYPE, oldType, type));
+			}
+		}
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType basicGetType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(EDataType newType) {
+		EDataType oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ATTRIBUTE__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Dimension> getDimension() {
+		if (dimension == null) {
+			dimension = new EObjectResolvingEList<Dimension>(Dimension.class, this, DECENTPackage.ATTRIBUTE__DIMENSION);
+		}
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDescription() {
+		return description;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDescription(String newDescription) {
+		String oldDescription = description;
+		description = newDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ATTRIBUTE__DESCRIPTION, oldDescription, description));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE__ARTIFACT_TYPES:
+				return getArtifactTypes();
+			case DECENTPackage.ATTRIBUTE__TYPE:
+				if (resolve) return getType();
+				return basicGetType();
+			case DECENTPackage.ATTRIBUTE__DIMENSION:
+				return getDimension();
+			case DECENTPackage.ATTRIBUTE__DESCRIPTION:
+				return getDescription();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE__ARTIFACT_TYPES:
+				getArtifactTypes().clear();
+				getArtifactTypes().addAll((Collection<? extends ArtifactType>)newValue);
+				return;
+			case DECENTPackage.ATTRIBUTE__TYPE:
+				setType((EDataType)newValue);
+				return;
+			case DECENTPackage.ATTRIBUTE__DIMENSION:
+				getDimension().clear();
+				getDimension().addAll((Collection<? extends Dimension>)newValue);
+				return;
+			case DECENTPackage.ATTRIBUTE__DESCRIPTION:
+				setDescription((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE__ARTIFACT_TYPES:
+				getArtifactTypes().clear();
+				return;
+			case DECENTPackage.ATTRIBUTE__TYPE:
+				setType((EDataType)null);
+				return;
+			case DECENTPackage.ATTRIBUTE__DIMENSION:
+				getDimension().clear();
+				return;
+			case DECENTPackage.ATTRIBUTE__DESCRIPTION:
+				setDescription(DESCRIPTION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE__ARTIFACT_TYPES:
+				return artifactTypes != null && !artifactTypes.isEmpty();
+			case DECENTPackage.ATTRIBUTE__TYPE:
+				return type != null;
+			case DECENTPackage.ATTRIBUTE__DIMENSION:
+				return dimension != null && !dimension.isEmpty();
+			case DECENTPackage.ATTRIBUTE__DESCRIPTION:
+				return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (description: ");
+		result.append(description);
+		result.append(')');
+		return result.toString();
+	}
+
+} //AttributeImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AttributePoolImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AttributePoolImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/AttributePoolImpl.java	(revision 36)
@@ -0,0 +1,148 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute Pool</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.AttributePoolImpl#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributePoolImpl extends MinimalEObjectImpl.Container implements AttributePool {
+	/**
+	 * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Attribute> attributes;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AttributePoolImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ATTRIBUTE_POOL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Attribute> getAttributes() {
+		if (attributes == null) {
+			attributes = new EObjectContainmentEList<Attribute>(Attribute.class, this, DECENTPackage.ATTRIBUTE_POOL__ATTRIBUTES);
+		}
+		return attributes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE_POOL__ATTRIBUTES:
+				return ((InternalEList<?>)getAttributes()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE_POOL__ATTRIBUTES:
+				return getAttributes();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE_POOL__ATTRIBUTES:
+				getAttributes().clear();
+				getAttributes().addAll((Collection<? extends Attribute>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE_POOL__ATTRIBUTES:
+				getAttributes().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ATTRIBUTE_POOL__ATTRIBUTES:
+				return attributes != null && !attributes.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //AttributePoolImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DECENTFactoryImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DECENTFactoryImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DECENTFactoryImpl.java	(revision 36)
@@ -0,0 +1,385 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTFactory;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Element;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Model;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DECENTFactoryImpl extends EFactoryImpl implements DECENTFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static DECENTFactory init() {
+		try {
+			DECENTFactory theDECENTFactory = (DECENTFactory)EPackage.Registry.INSTANCE.getEFactory(DECENTPackage.eNS_URI);
+			if (theDECENTFactory != null) {
+				return theDECENTFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new DECENTFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case DECENTPackage.MODEL: return createModel();
+			case DECENTPackage.ELEMENT: return createElement();
+			case DECENTPackage.STEP: return createStep();
+			case DECENTPackage.AGENT_POOL: return createAgentPool();
+			case DECENTPackage.ATTRIBUTE_POOL: return createAttributePool();
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY: return createArtifactTypeHierarchy();
+			case DECENTPackage.ARTIFACT_TYPE: return createArtifactType();
+			case DECENTPackage.PROJECT: return createProject();
+			case DECENTPackage.AGENT: return createAgent();
+			case DECENTPackage.AGENT_STATE: return createAgentState();
+			case DECENTPackage.LOCATION: return createLocation();
+			case DECENTPackage.ARTIFACT: return createArtifact();
+			case DECENTPackage.STATE: return createState();
+			case DECENTPackage.ACTIVITY: return createActivity();
+			case DECENTPackage.ACTIVITY_TYPE: return createActivityType();
+			case DECENTPackage.DIMENSION: return createDimension();
+			case DECENTPackage.ATTRIBUTE: return createAttribute();
+			case DECENTPackage.INTEGER_VALUE: return createIntegerValue();
+			case DECENTPackage.DOUBLE_VALUE: return createDoubleValue();
+			case DECENTPackage.STRING_VALUE: return createStringValue();
+			case DECENTPackage.LIST_VALUE: return createListValue();
+			case DECENTPackage.STRING_LIST_VALUE: return createStringListValue();
+			case DECENTPackage.DOUBLE_LIST_VALUE: return createDoubleListValue();
+			case DECENTPackage.INTEGER_LIST_VALUE: return createIntegerListValue();
+			case DECENTPackage.DELTA: return createDelta();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Model createModel() {
+		ModelImpl model = new ModelImpl();
+		return model;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Element createElement() {
+		ElementImpl element = new ElementImpl();
+		return element;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Step createStep() {
+		StepImpl step = new StepImpl();
+		return step;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentPool createAgentPool() {
+		AgentPoolImpl agentPool = new AgentPoolImpl();
+		return agentPool;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AttributePool createAttributePool() {
+		AttributePoolImpl attributePool = new AttributePoolImpl();
+		return attributePool;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactTypeHierarchy createArtifactTypeHierarchy() {
+		ArtifactTypeHierarchyImpl artifactTypeHierarchy = new ArtifactTypeHierarchyImpl();
+		return artifactTypeHierarchy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactType createArtifactType() {
+		ArtifactTypeImpl artifactType = new ArtifactTypeImpl();
+		return artifactType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Project createProject() {
+		ProjectImpl project = new ProjectImpl();
+		return project;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Agent createAgent() {
+		AgentImpl agent = new AgentImpl();
+		return agent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentState createAgentState() {
+		AgentStateImpl agentState = new AgentStateImpl();
+		return agentState;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Location createLocation() {
+		LocationImpl location = new LocationImpl();
+		return location;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Artifact createArtifact() {
+		ArtifactImpl artifact = new ArtifactImpl();
+		return artifact;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State createState() {
+		StateImpl state = new StateImpl();
+		return state;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity createActivity() {
+		ActivityImpl activity = new ActivityImpl();
+		return activity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivityType createActivityType() {
+		ActivityTypeImpl activityType = new ActivityTypeImpl();
+		return activityType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Dimension createDimension() {
+		DimensionImpl dimension = new DimensionImpl();
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute createAttribute() {
+		AttributeImpl attribute = new AttributeImpl();
+		return attribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerValue createIntegerValue() {
+		IntegerValueImpl integerValue = new IntegerValueImpl();
+		return integerValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleValue createDoubleValue() {
+		DoubleValueImpl doubleValue = new DoubleValueImpl();
+		return doubleValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StringValue createStringValue() {
+		StringValueImpl stringValue = new StringValueImpl();
+		return stringValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ListValue createListValue() {
+		ListValueImpl listValue = new ListValueImpl();
+		return listValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StringListValue createStringListValue() {
+		StringListValueImpl stringListValue = new StringListValueImpl();
+		return stringListValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleListValue createDoubleListValue() {
+		DoubleListValueImpl doubleListValue = new DoubleListValueImpl();
+		return doubleListValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerListValue createIntegerListValue() {
+		IntegerListValueImpl integerListValue = new IntegerListValueImpl();
+		return integerListValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Delta createDelta() {
+		DeltaImpl delta = new DeltaImpl();
+		return delta;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTPackage getDECENTPackage() {
+		return (DECENTPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static DECENTPackage getPackage() {
+		return DECENTPackage.eINSTANCE;
+	}
+
+} //DECENTFactoryImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DECENTPackageImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DECENTPackageImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DECENTPackageImpl.java	(revision 36)
@@ -0,0 +1,1567 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.util.DECENTValidator;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTFactory;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Element;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Model;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DECENTPackageImpl extends EPackageImpl implements DECENTPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass modelEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass elementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stepEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass agentPoolEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass attributePoolEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass artifactTypeHierarchyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass artifactTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass projectEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass agentEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass agentStateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass locationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass artifactEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass activityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass activityTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass dimensionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass attributeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass valueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass integerValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass doubleValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stringValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass listValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass stringListValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass doubleListValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass integerListValueEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass deltaEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private DECENTPackageImpl() {
+		super(eNS_URI, DECENTFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link DECENTPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static DECENTPackage init() {
+		if (isInited) return (DECENTPackage)EPackage.Registry.INSTANCE.getEPackage(DECENTPackage.eNS_URI);
+
+		// Obtain or create and register package
+		DECENTPackageImpl theDECENTPackage = (DECENTPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DECENTPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DECENTPackageImpl());
+
+		isInited = true;
+
+		// Create package meta-data objects
+		theDECENTPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theDECENTPackage.initializePackageContents();
+
+		// Register package validator
+		EValidator.Registry.INSTANCE.put
+			(theDECENTPackage, 
+			 new EValidator.Descriptor() {
+				 public EValidator getEValidator() {
+					 return DECENTValidator.INSTANCE;
+				 }
+			 });
+
+		// Mark meta-data to indicate it can't be changed
+		theDECENTPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(DECENTPackage.eNS_URI, theDECENTPackage);
+		return theDECENTPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getModel() {
+		return modelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getModel_Name() {
+		return (EAttribute)modelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getModel_Content() {
+		return (EAttribute)modelEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Steps() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Projects() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_ArtifactTypeHierarchy() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_AgentPool() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_AttributePool() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_ActivityTypes() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getModel_Dimensions() {
+		return (EReference)modelEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getElement() {
+		return elementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getElement_Name() {
+		return (EAttribute)elementEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getElement_ID() {
+		return (EAttribute)elementEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStep() {
+		return stepEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStep_Duration() {
+		return (EAttribute)stepEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgentPool() {
+		return agentPoolEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgentPool_Agents() {
+		return (EReference)agentPoolEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAttributePool() {
+		return attributePoolEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAttributePool_Attributes() {
+		return (EReference)attributePoolEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getArtifactTypeHierarchy() {
+		return artifactTypeHierarchyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifactTypeHierarchy_Types() {
+		return (EReference)artifactTypeHierarchyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getArtifactType() {
+		return artifactTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifactType_ContainerTypes() {
+		return (EReference)artifactTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getProject() {
+		return projectEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getProject_Agents() {
+		return (EReference)projectEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getProject_Location() {
+		return (EReference)projectEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgent() {
+		return agentEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAgent_EMail() {
+		return (EAttribute)agentEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgent_Projects() {
+		return (EReference)agentEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgent_Activities() {
+		return (EReference)agentEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgent_States() {
+		return (EReference)agentEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAgentState() {
+		return agentStateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAgentState_Date() {
+		return (EAttribute)agentStateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgentState_Agent() {
+		return (EReference)agentStateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgentState_Activities() {
+		return (EReference)agentStateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgentState_Next() {
+		return (EReference)agentStateEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgentState_Previous() {
+		return (EReference)agentStateEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAgentState_Values() {
+		return (EReference)agentStateEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLocation() {
+		return locationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLocation_Type() {
+		return (EReference)locationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLocation_Project() {
+		return (EReference)locationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLocation_Artifacts() {
+		return (EReference)locationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getArtifact() {
+		return artifactEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifact_Type() {
+		return (EReference)artifactEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifact_Parent() {
+		return (EReference)artifactEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifact_Children() {
+		return (EReference)artifactEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifact_States() {
+		return (EReference)artifactEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getArtifact_Attributes() {
+		return (EReference)artifactEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getState() {
+		return stateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Artifact() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Activity() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_FromActivity() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Next() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Previous() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Parent() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Children() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getState_Values() {
+		return (EReference)stateEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getActivity() {
+		return activityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_Type() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_Agent() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_State() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_TargetState() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_Deltas() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getActivity_Date() {
+		return (EAttribute)activityEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_Values() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_AgentState() {
+		return (EReference)activityEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getActivityType() {
+		return activityTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivityType_Dimension() {
+		return (EReference)activityTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDimension() {
+		return dimensionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAttribute() {
+		return attributeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAttribute_ArtifactTypes() {
+		return (EReference)attributeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAttribute_Type() {
+		return (EReference)attributeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAttribute_Dimension() {
+		return (EReference)attributeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getAttribute_Description() {
+		return (EAttribute)attributeEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getValue() {
+		return valueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getValue_Name() {
+		return (EAttribute)valueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getValue_OfAttribute() {
+		return (EReference)valueEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIntegerValue() {
+		return integerValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIntegerValue_Content() {
+		return (EAttribute)integerValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDoubleValue() {
+		return doubleValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDoubleValue_Content() {
+		return (EAttribute)doubleValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStringValue() {
+		return stringValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStringValue_Content() {
+		return (EAttribute)stringValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getListValue() {
+		return listValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getListValue_Content() {
+		return (EReference)listValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStringListValue() {
+		return stringListValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStringListValue_Content() {
+		return (EAttribute)stringListValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDoubleListValue() {
+		return doubleListValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDoubleListValue_Content() {
+		return (EAttribute)doubleListValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getIntegerListValue() {
+		return integerListValueEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getIntegerListValue_Content() {
+		return (EAttribute)integerListValueEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getDelta() {
+		return deltaEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDelta_Activity() {
+		return (EReference)deltaEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDelta_OnAttribute() {
+		return (EReference)deltaEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDelta_TargetValue() {
+		return (EReference)deltaEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getDelta_SourceValue() {
+		return (EReference)deltaEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getDelta_Change() {
+		return (EAttribute)deltaEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTFactory getDECENTFactory() {
+		return (DECENTFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) return;
+		isCreated = true;
+
+		// Create classes and their features
+		modelEClass = createEClass(MODEL);
+		createEAttribute(modelEClass, MODEL__NAME);
+		createEAttribute(modelEClass, MODEL__CONTENT);
+		createEReference(modelEClass, MODEL__STEPS);
+		createEReference(modelEClass, MODEL__PROJECTS);
+		createEReference(modelEClass, MODEL__ARTIFACT_TYPE_HIERARCHY);
+		createEReference(modelEClass, MODEL__AGENT_POOL);
+		createEReference(modelEClass, MODEL__ATTRIBUTE_POOL);
+		createEReference(modelEClass, MODEL__ACTIVITY_TYPES);
+		createEReference(modelEClass, MODEL__DIMENSIONS);
+
+		elementEClass = createEClass(ELEMENT);
+		createEAttribute(elementEClass, ELEMENT__NAME);
+		createEAttribute(elementEClass, ELEMENT__ID);
+
+		stepEClass = createEClass(STEP);
+		createEAttribute(stepEClass, STEP__DURATION);
+
+		agentPoolEClass = createEClass(AGENT_POOL);
+		createEReference(agentPoolEClass, AGENT_POOL__AGENTS);
+
+		attributePoolEClass = createEClass(ATTRIBUTE_POOL);
+		createEReference(attributePoolEClass, ATTRIBUTE_POOL__ATTRIBUTES);
+
+		artifactTypeHierarchyEClass = createEClass(ARTIFACT_TYPE_HIERARCHY);
+		createEReference(artifactTypeHierarchyEClass, ARTIFACT_TYPE_HIERARCHY__TYPES);
+
+		artifactTypeEClass = createEClass(ARTIFACT_TYPE);
+		createEReference(artifactTypeEClass, ARTIFACT_TYPE__CONTAINER_TYPES);
+
+		projectEClass = createEClass(PROJECT);
+		createEReference(projectEClass, PROJECT__AGENTS);
+		createEReference(projectEClass, PROJECT__LOCATION);
+
+		agentEClass = createEClass(AGENT);
+		createEAttribute(agentEClass, AGENT__EMAIL);
+		createEReference(agentEClass, AGENT__PROJECTS);
+		createEReference(agentEClass, AGENT__ACTIVITIES);
+		createEReference(agentEClass, AGENT__STATES);
+
+		agentStateEClass = createEClass(AGENT_STATE);
+		createEAttribute(agentStateEClass, AGENT_STATE__DATE);
+		createEReference(agentStateEClass, AGENT_STATE__AGENT);
+		createEReference(agentStateEClass, AGENT_STATE__ACTIVITIES);
+		createEReference(agentStateEClass, AGENT_STATE__NEXT);
+		createEReference(agentStateEClass, AGENT_STATE__PREVIOUS);
+		createEReference(agentStateEClass, AGENT_STATE__VALUES);
+
+		locationEClass = createEClass(LOCATION);
+		createEReference(locationEClass, LOCATION__TYPE);
+		createEReference(locationEClass, LOCATION__PROJECT);
+		createEReference(locationEClass, LOCATION__ARTIFACTS);
+
+		artifactEClass = createEClass(ARTIFACT);
+		createEReference(artifactEClass, ARTIFACT__TYPE);
+		createEReference(artifactEClass, ARTIFACT__PARENT);
+		createEReference(artifactEClass, ARTIFACT__CHILDREN);
+		createEReference(artifactEClass, ARTIFACT__STATES);
+		createEReference(artifactEClass, ARTIFACT__ATTRIBUTES);
+
+		stateEClass = createEClass(STATE);
+		createEReference(stateEClass, STATE__ARTIFACT);
+		createEReference(stateEClass, STATE__ACTIVITY);
+		createEReference(stateEClass, STATE__FROM_ACTIVITY);
+		createEReference(stateEClass, STATE__NEXT);
+		createEReference(stateEClass, STATE__PREVIOUS);
+		createEReference(stateEClass, STATE__PARENT);
+		createEReference(stateEClass, STATE__CHILDREN);
+		createEReference(stateEClass, STATE__VALUES);
+
+		activityEClass = createEClass(ACTIVITY);
+		createEReference(activityEClass, ACTIVITY__TYPE);
+		createEReference(activityEClass, ACTIVITY__AGENT);
+		createEReference(activityEClass, ACTIVITY__STATE);
+		createEReference(activityEClass, ACTIVITY__TARGET_STATE);
+		createEReference(activityEClass, ACTIVITY__DELTAS);
+		createEAttribute(activityEClass, ACTIVITY__DATE);
+		createEReference(activityEClass, ACTIVITY__VALUES);
+		createEReference(activityEClass, ACTIVITY__AGENT_STATE);
+
+		activityTypeEClass = createEClass(ACTIVITY_TYPE);
+		createEReference(activityTypeEClass, ACTIVITY_TYPE__DIMENSION);
+
+		dimensionEClass = createEClass(DIMENSION);
+
+		attributeEClass = createEClass(ATTRIBUTE);
+		createEReference(attributeEClass, ATTRIBUTE__ARTIFACT_TYPES);
+		createEReference(attributeEClass, ATTRIBUTE__TYPE);
+		createEReference(attributeEClass, ATTRIBUTE__DIMENSION);
+		createEAttribute(attributeEClass, ATTRIBUTE__DESCRIPTION);
+
+		valueEClass = createEClass(VALUE);
+		createEAttribute(valueEClass, VALUE__NAME);
+		createEReference(valueEClass, VALUE__OF_ATTRIBUTE);
+
+		integerValueEClass = createEClass(INTEGER_VALUE);
+		createEAttribute(integerValueEClass, INTEGER_VALUE__CONTENT);
+
+		doubleValueEClass = createEClass(DOUBLE_VALUE);
+		createEAttribute(doubleValueEClass, DOUBLE_VALUE__CONTENT);
+
+		stringValueEClass = createEClass(STRING_VALUE);
+		createEAttribute(stringValueEClass, STRING_VALUE__CONTENT);
+
+		listValueEClass = createEClass(LIST_VALUE);
+		createEReference(listValueEClass, LIST_VALUE__CONTENT);
+
+		stringListValueEClass = createEClass(STRING_LIST_VALUE);
+		createEAttribute(stringListValueEClass, STRING_LIST_VALUE__CONTENT);
+
+		doubleListValueEClass = createEClass(DOUBLE_LIST_VALUE);
+		createEAttribute(doubleListValueEClass, DOUBLE_LIST_VALUE__CONTENT);
+
+		integerListValueEClass = createEClass(INTEGER_LIST_VALUE);
+		createEAttribute(integerListValueEClass, INTEGER_LIST_VALUE__CONTENT);
+
+		deltaEClass = createEClass(DELTA);
+		createEReference(deltaEClass, DELTA__ACTIVITY);
+		createEReference(deltaEClass, DELTA__ON_ATTRIBUTE);
+		createEReference(deltaEClass, DELTA__TARGET_VALUE);
+		createEReference(deltaEClass, DELTA__SOURCE_VALUE);
+		createEAttribute(deltaEClass, DELTA__CHANGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) return;
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		stepEClass.getESuperTypes().add(this.getElement());
+		artifactTypeEClass.getESuperTypes().add(this.getElement());
+		projectEClass.getESuperTypes().add(this.getElement());
+		agentEClass.getESuperTypes().add(this.getElement());
+		agentStateEClass.getESuperTypes().add(this.getElement());
+		locationEClass.getESuperTypes().add(this.getElement());
+		artifactEClass.getESuperTypes().add(this.getElement());
+		stateEClass.getESuperTypes().add(this.getElement());
+		activityEClass.getESuperTypes().add(this.getElement());
+		activityTypeEClass.getESuperTypes().add(this.getElement());
+		dimensionEClass.getESuperTypes().add(this.getElement());
+		attributeEClass.getESuperTypes().add(this.getElement());
+		integerValueEClass.getESuperTypes().add(this.getValue());
+		doubleValueEClass.getESuperTypes().add(this.getValue());
+		stringValueEClass.getESuperTypes().add(this.getValue());
+		listValueEClass.getESuperTypes().add(this.getValue());
+		stringListValueEClass.getESuperTypes().add(this.getValue());
+		doubleListValueEClass.getESuperTypes().add(this.getValue());
+		integerListValueEClass.getESuperTypes().add(this.getValue());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getModel_Name(), ecorePackage.getEString(), "name", null, 1, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getModel_Content(), ecorePackage.getEString(), "content", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Steps(), this.getStep(), null, "steps", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_Projects(), this.getProject(), null, "projects", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_ArtifactTypeHierarchy(), this.getArtifactTypeHierarchy(), null, "artifactTypeHierarchy", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_AgentPool(), this.getAgentPool(), null, "agentPool", null, 1, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_AttributePool(), this.getAttributePool(), null, "attributePool", null, 1, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getModel_ActivityTypes(), this.getActivityType(), null, "activityTypes", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getModel_Dimensions(), this.getDimension(), null, "dimensions", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(elementEClass, Element.class, "Element", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getElement_Name(), ecorePackage.getEString(), "name", null, 1, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getElement_ID(), ecorePackage.getEInt(), "ID", "-1", 1, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(stepEClass, Step.class, "Step", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStep_Duration(), ecorePackage.getEString(), "duration", null, 0, 1, Step.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(agentPoolEClass, AgentPool.class, "AgentPool", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAgentPool_Agents(), this.getAgent(), null, "agents", null, 0, -1, AgentPool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(attributePoolEClass, AttributePool.class, "AttributePool", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAttributePool_Attributes(), this.getAttribute(), null, "attributes", null, 0, -1, AttributePool.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(artifactTypeHierarchyEClass, ArtifactTypeHierarchy.class, "ArtifactTypeHierarchy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getArtifactTypeHierarchy_Types(), this.getArtifactType(), null, "types", null, 0, -1, ArtifactTypeHierarchy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(artifactTypeEClass, ArtifactType.class, "ArtifactType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getArtifactType_ContainerTypes(), this.getArtifactType(), null, "containerTypes", null, 0, -1, ArtifactType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(projectEClass, Project.class, "Project", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getProject_Agents(), this.getAgent(), this.getAgent_Projects(), "agents", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getProject_Location(), this.getLocation(), this.getLocation_Project(), "location", null, 0, -1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(agentEClass, Agent.class, "Agent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAgent_EMail(), ecorePackage.getEString(), "eMail", null, 1, 1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgent_Projects(), this.getProject(), this.getProject_Agents(), "projects", null, 1, 1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgent_Activities(), this.getActivity(), this.getActivity_Agent(), "activities", null, 0, -1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgent_States(), this.getAgentState(), this.getAgentState_Agent(), "states", null, 0, -1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(agentStateEClass, AgentState.class, "AgentState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getAgentState_Date(), ecorePackage.getEDate(), "date", null, 0, 1, AgentState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgentState_Agent(), this.getAgent(), this.getAgent_States(), "agent", null, 1, 1, AgentState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgentState_Activities(), this.getActivity(), this.getActivity_AgentState(), "activities", null, 0, -1, AgentState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgentState_Next(), this.getAgentState(), this.getAgentState_Previous(), "next", null, 0, 1, AgentState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgentState_Previous(), this.getAgentState(), this.getAgentState_Next(), "previous", null, 0, 1, AgentState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAgentState_Values(), this.getValue(), null, "values", null, 0, -1, AgentState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(locationEClass, Location.class, "Location", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getLocation_Type(), this.getArtifactType(), null, "type", null, 0, 1, Location.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getLocation_Project(), this.getProject(), this.getProject_Location(), "project", null, 1, 1, Location.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getLocation_Artifacts(), this.getArtifact(), null, "artifacts", null, 0, -1, Location.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(artifactEClass, Artifact.class, "Artifact", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getArtifact_Type(), this.getArtifactType(), null, "type", null, 0, 1, Artifact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getArtifact_Parent(), this.getArtifact(), this.getArtifact_Children(), "parent", null, 0, 1, Artifact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getArtifact_Children(), this.getArtifact(), this.getArtifact_Parent(), "children", null, 0, -1, Artifact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getArtifact_States(), this.getState(), this.getState_Artifact(), "states", null, 0, -1, Artifact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getArtifact_Attributes(), this.getAttribute(), null, "attributes", null, 0, -1, Artifact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getState_Artifact(), this.getArtifact(), this.getArtifact_States(), "artifact", null, 1, 1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_Activity(), this.getActivity(), this.getActivity_State(), "activity", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_FromActivity(), this.getActivity(), this.getActivity_TargetState(), "fromActivity", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_Next(), this.getState(), this.getState_Previous(), "next", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_Previous(), this.getState(), this.getState_Next(), "previous", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_Parent(), this.getState(), this.getState_Children(), "parent", null, 0, 1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_Children(), this.getState(), this.getState_Parent(), "children", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getState_Values(), this.getValue(), null, "values", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(activityEClass, Activity.class, "Activity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getActivity_Type(), this.getActivityType(), null, "type", null, 0, -1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getActivity_Agent(), this.getAgent(), this.getAgent_Activities(), "agent", null, 1, 1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getActivity_State(), this.getState(), this.getState_Activity(), "state", null, 1, 1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getActivity_TargetState(), this.getState(), this.getState_FromActivity(), "targetState", null, 1, 1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getActivity_Deltas(), this.getDelta(), this.getDelta_Activity(), "deltas", null, 0, -1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getActivity_Date(), ecorePackage.getEDate(), "date", null, 0, 1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getActivity_Values(), this.getValue(), null, "values", null, 0, -1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getActivity_AgentState(), this.getAgentState(), this.getAgentState_Activities(), "agentState", null, 0, 1, Activity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(activityTypeEClass, ActivityType.class, "ActivityType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getActivityType_Dimension(), this.getDimension(), null, "dimension", null, 0, -1, ActivityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dimensionEClass, Dimension.class, "Dimension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAttribute_ArtifactTypes(), this.getArtifactType(), null, "artifactTypes", null, 0, -1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getAttribute_Type(), ecorePackage.getEDataType(), null, "type", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getAttribute_Dimension(), this.getDimension(), null, "dimension", null, 0, -1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getAttribute_Description(), ecorePackage.getEString(), "description", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(valueEClass, Value.class, "Value", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getValue_Name(), ecorePackage.getEString(), "name", null, 0, 1, Value.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getValue_OfAttribute(), this.getAttribute(), null, "ofAttribute", null, 1, 1, Value.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(integerValueEClass, IntegerValue.class, "IntegerValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIntegerValue_Content(), ecorePackage.getEInt(), "content", null, 0, 1, IntegerValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(doubleValueEClass, DoubleValue.class, "DoubleValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDoubleValue_Content(), ecorePackage.getEDouble(), "content", null, 0, 1, DoubleValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(stringValueEClass, StringValue.class, "StringValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStringValue_Content(), ecorePackage.getEString(), "content", null, 0, 1, StringValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(listValueEClass, ListValue.class, "ListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getListValue_Content(), ecorePackage.getEObject(), null, "content", null, 0, -1, ListValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(stringListValueEClass, StringListValue.class, "StringListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getStringListValue_Content(), ecorePackage.getEString(), "content", null, 0, -1, StringListValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(doubleListValueEClass, DoubleListValue.class, "DoubleListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getDoubleListValue_Content(), ecorePackage.getEDouble(), "content", null, 0, -1, DoubleListValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(integerListValueEClass, IntegerListValue.class, "IntegerListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getIntegerListValue_Content(), ecorePackage.getEInt(), "content", null, 0, -1, IntegerListValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		initEClass(deltaEClass, Delta.class, "Delta", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDelta_Activity(), this.getActivity(), this.getActivity_Deltas(), "activity", null, 1, 1, Delta.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDelta_OnAttribute(), this.getAttribute(), null, "onAttribute", null, 1, 1, Delta.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDelta_TargetValue(), this.getValue(), null, "targetValue", null, 1, 1, Delta.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getDelta_SourceValue(), this.getValue(), null, "sourceValue", null, 1, 1, Delta.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getDelta_Change(), ecorePackage.getEDouble(), "change", null, 0, 1, Delta.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+		// Create resource
+		createResource(eNS_URI);
+
+		// Create annotations
+		// http://www.eclipse.org/OCL/Import
+		createImportAnnotations();
+		// http://www.eclipse.org/emf/2002/Ecore
+		createEcoreAnnotations();
+		// http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot
+		createPivotAnnotations();
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/OCL/Import</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createImportAnnotations() {
+		String source = "http://www.eclipse.org/OCL/Import";	
+		addAnnotation
+		  (this, 
+		   source, 
+		   new String[] {
+			 "ecore", "http://www.eclipse.org/emf/2002/Ecore#/"
+		   });
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createEcoreAnnotations() {
+		String source = "http://www.eclipse.org/emf/2002/Ecore";	
+		addAnnotation
+		  (this, 
+		   source, 
+		   new String[] {
+			 "invocationDelegates", "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+			 "settingDelegates", "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+			 "validationDelegates", "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"
+		   });	
+		addAnnotation
+		  (artifactEClass, 
+		   source, 
+		   new String[] {
+			 "constraints", "typeHierarchy"
+		   });
+	}
+
+	/**
+	 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createPivotAnnotations() {
+		String source = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot";	
+		addAnnotation
+		  (artifactEClass, 
+		   source, 
+		   new String[] {
+			 "typeHierarchy", "type.containerTypes->includes(parent.type) or parent = null"
+		   });
+	}
+
+} //DECENTPackageImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DeltaImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DeltaImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DeltaImpl.java	(revision 36)
@@ -0,0 +1,443 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Delta</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DeltaImpl#getActivity <em>Activity</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DeltaImpl#getOnAttribute <em>On Attribute</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DeltaImpl#getTargetValue <em>Target Value</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DeltaImpl#getSourceValue <em>Source Value</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DeltaImpl#getChange <em>Change</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeltaImpl extends MinimalEObjectImpl.Container implements Delta {
+	/**
+	 * The cached value of the '{@link #getOnAttribute() <em>On Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOnAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected Attribute onAttribute;
+
+	/**
+	 * The cached value of the '{@link #getTargetValue() <em>Target Value</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTargetValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected Value targetValue;
+
+	/**
+	 * The cached value of the '{@link #getSourceValue() <em>Source Value</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourceValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected Value sourceValue;
+
+	/**
+	 * The default value of the '{@link #getChange() <em>Change</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChange()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double CHANGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getChange() <em>Change</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChange()
+	 * @generated
+	 * @ordered
+	 */
+	protected double change = CHANGE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DeltaImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.DELTA;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Activity getActivity() {
+		if (eContainerFeatureID() != DECENTPackage.DELTA__ACTIVITY) return null;
+		return (Activity)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetActivity(Activity newActivity, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newActivity, DECENTPackage.DELTA__ACTIVITY, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setActivity(Activity newActivity) {
+		if (newActivity != eInternalContainer() || (eContainerFeatureID() != DECENTPackage.DELTA__ACTIVITY && newActivity != null)) {
+			if (EcoreUtil.isAncestor(this, newActivity))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newActivity != null)
+				msgs = ((InternalEObject)newActivity).eInverseAdd(this, DECENTPackage.ACTIVITY__DELTAS, Activity.class, msgs);
+			msgs = basicSetActivity(newActivity, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.DELTA__ACTIVITY, newActivity, newActivity));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute getOnAttribute() {
+		if (onAttribute != null && onAttribute.eIsProxy()) {
+			InternalEObject oldOnAttribute = (InternalEObject)onAttribute;
+			onAttribute = (Attribute)eResolveProxy(oldOnAttribute);
+			if (onAttribute != oldOnAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.DELTA__ON_ATTRIBUTE, oldOnAttribute, onAttribute));
+			}
+		}
+		return onAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute basicGetOnAttribute() {
+		return onAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOnAttribute(Attribute newOnAttribute) {
+		Attribute oldOnAttribute = onAttribute;
+		onAttribute = newOnAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.DELTA__ON_ATTRIBUTE, oldOnAttribute, onAttribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Value getTargetValue() {
+		if (targetValue != null && targetValue.eIsProxy()) {
+			InternalEObject oldTargetValue = (InternalEObject)targetValue;
+			targetValue = (Value)eResolveProxy(oldTargetValue);
+			if (targetValue != oldTargetValue) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.DELTA__TARGET_VALUE, oldTargetValue, targetValue));
+			}
+		}
+		return targetValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Value basicGetTargetValue() {
+		return targetValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTargetValue(Value newTargetValue) {
+		Value oldTargetValue = targetValue;
+		targetValue = newTargetValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.DELTA__TARGET_VALUE, oldTargetValue, targetValue));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Value getSourceValue() {
+		if (sourceValue != null && sourceValue.eIsProxy()) {
+			InternalEObject oldSourceValue = (InternalEObject)sourceValue;
+			sourceValue = (Value)eResolveProxy(oldSourceValue);
+			if (sourceValue != oldSourceValue) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.DELTA__SOURCE_VALUE, oldSourceValue, sourceValue));
+			}
+		}
+		return sourceValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Value basicGetSourceValue() {
+		return sourceValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSourceValue(Value newSourceValue) {
+		Value oldSourceValue = sourceValue;
+		sourceValue = newSourceValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.DELTA__SOURCE_VALUE, oldSourceValue, sourceValue));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getChange() {
+		return change;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setChange(double newChange) {
+		double oldChange = change;
+		change = newChange;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.DELTA__CHANGE, oldChange, change));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetActivity((Activity)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				return basicSetActivity(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				return eInternalContainer().eInverseRemove(this, DECENTPackage.ACTIVITY__DELTAS, Activity.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				return getActivity();
+			case DECENTPackage.DELTA__ON_ATTRIBUTE:
+				if (resolve) return getOnAttribute();
+				return basicGetOnAttribute();
+			case DECENTPackage.DELTA__TARGET_VALUE:
+				if (resolve) return getTargetValue();
+				return basicGetTargetValue();
+			case DECENTPackage.DELTA__SOURCE_VALUE:
+				if (resolve) return getSourceValue();
+				return basicGetSourceValue();
+			case DECENTPackage.DELTA__CHANGE:
+				return getChange();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				setActivity((Activity)newValue);
+				return;
+			case DECENTPackage.DELTA__ON_ATTRIBUTE:
+				setOnAttribute((Attribute)newValue);
+				return;
+			case DECENTPackage.DELTA__TARGET_VALUE:
+				setTargetValue((Value)newValue);
+				return;
+			case DECENTPackage.DELTA__SOURCE_VALUE:
+				setSourceValue((Value)newValue);
+				return;
+			case DECENTPackage.DELTA__CHANGE:
+				setChange((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				setActivity((Activity)null);
+				return;
+			case DECENTPackage.DELTA__ON_ATTRIBUTE:
+				setOnAttribute((Attribute)null);
+				return;
+			case DECENTPackage.DELTA__TARGET_VALUE:
+				setTargetValue((Value)null);
+				return;
+			case DECENTPackage.DELTA__SOURCE_VALUE:
+				setSourceValue((Value)null);
+				return;
+			case DECENTPackage.DELTA__CHANGE:
+				setChange(CHANGE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.DELTA__ACTIVITY:
+				return getActivity() != null;
+			case DECENTPackage.DELTA__ON_ATTRIBUTE:
+				return onAttribute != null;
+			case DECENTPackage.DELTA__TARGET_VALUE:
+				return targetValue != null;
+			case DECENTPackage.DELTA__SOURCE_VALUE:
+				return sourceValue != null;
+			case DECENTPackage.DELTA__CHANGE:
+				return change != CHANGE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (change: ");
+		result.append(change);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DeltaImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DimensionImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DimensionImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DimensionImpl.java	(revision 36)
@@ -0,0 +1,39 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dimension</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DimensionImpl extends ElementImpl implements Dimension {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DimensionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.DIMENSION;
+	}
+
+} //DimensionImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DoubleListValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DoubleListValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DoubleListValueImpl.java	(revision 36)
@@ -0,0 +1,145 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double List Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DoubleListValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DoubleListValueImpl extends ValueImpl implements DoubleListValue {
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Double> content;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleListValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.DOUBLE_LIST_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Double> getContent() {
+		if (content == null) {
+			content = new EDataTypeUniqueEList<Double>(Double.class, this, DECENTPackage.DOUBLE_LIST_VALUE__CONTENT);
+		}
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_LIST_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_LIST_VALUE__CONTENT:
+				getContent().clear();
+				getContent().addAll((Collection<? extends Double>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_LIST_VALUE__CONTENT:
+				getContent().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_LIST_VALUE__CONTENT:
+				return content != null && !content.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DoubleListValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DoubleValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DoubleValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/DoubleValueImpl.java	(revision 36)
@@ -0,0 +1,160 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.DoubleValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DoubleValueImpl extends ValueImpl implements DoubleValue {
+	/**
+	 * The default value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double CONTENT_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected double content = CONTENT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.DOUBLE_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getContent() {
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContent(double newContent) {
+		double oldContent = content;
+		content = newContent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.DOUBLE_VALUE__CONTENT, oldContent, content));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_VALUE__CONTENT:
+				setContent((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_VALUE__CONTENT:
+				setContent(CONTENT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.DOUBLE_VALUE__CONTENT:
+				return content != CONTENT_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DoubleValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ElementImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ElementImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ElementImpl.java	(revision 36)
@@ -0,0 +1,215 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ElementImpl#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ElementImpl#getID <em>ID</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ElementImpl extends MinimalEObjectImpl.Container implements Element {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getID() <em>ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getID()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ID_EDEFAULT = -1;
+
+	/**
+	 * The cached value of the '{@link #getID() <em>ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getID()
+	 * @generated
+	 * @ordered
+	 */
+	protected int id = ID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ElementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.ELEMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ELEMENT__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getID() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setID(int newID) {
+		int oldID = id;
+		id = newID;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.ELEMENT__ID, oldID, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.ELEMENT__NAME:
+				return getName();
+			case DECENTPackage.ELEMENT__ID:
+				return getID();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.ELEMENT__NAME:
+				setName((String)newValue);
+				return;
+			case DECENTPackage.ELEMENT__ID:
+				setID((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ELEMENT__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case DECENTPackage.ELEMENT__ID:
+				setID(ID_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.ELEMENT__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case DECENTPackage.ELEMENT__ID:
+				return id != ID_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(", ID: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ElementImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/IntegerListValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/IntegerListValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/IntegerListValueImpl.java	(revision 36)
@@ -0,0 +1,145 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer List Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.IntegerListValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntegerListValueImpl extends ValueImpl implements IntegerListValue {
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Integer> content;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntegerListValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.INTEGER_LIST_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Integer> getContent() {
+		if (content == null) {
+			content = new EDataTypeUniqueEList<Integer>(Integer.class, this, DECENTPackage.INTEGER_LIST_VALUE__CONTENT);
+		}
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_LIST_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_LIST_VALUE__CONTENT:
+				getContent().clear();
+				getContent().addAll((Collection<? extends Integer>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_LIST_VALUE__CONTENT:
+				getContent().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_LIST_VALUE__CONTENT:
+				return content != null && !content.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IntegerListValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/IntegerValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/IntegerValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/IntegerValueImpl.java	(revision 36)
@@ -0,0 +1,160 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.IntegerValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntegerValueImpl extends ValueImpl implements IntegerValue {
+	/**
+	 * The default value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int CONTENT_EDEFAULT = 0;
+
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected int content = CONTENT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntegerValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.INTEGER_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getContent() {
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContent(int newContent) {
+		int oldContent = content;
+		content = newContent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.INTEGER_VALUE__CONTENT, oldContent, content));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_VALUE__CONTENT:
+				setContent((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_VALUE__CONTENT:
+				setContent(CONTENT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.INTEGER_VALUE__CONTENT:
+				return content != CONTENT_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IntegerValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ListValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ListValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ListValueImpl.java	(revision 36)
@@ -0,0 +1,130 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ListValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ListValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ListValueImpl extends ValueImpl implements ListValue {
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<EObject> content;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.LIST_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<EObject> getContent() {
+		if (content == null) {
+			content = new EObjectResolvingEList<EObject>(EObject.class, this, DECENTPackage.LIST_VALUE__CONTENT);
+		}
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.LIST_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.LIST_VALUE__CONTENT:
+				getContent().clear();
+				getContent().addAll((Collection<? extends EObject>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.LIST_VALUE__CONTENT:
+				getContent().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.LIST_VALUE__CONTENT:
+				return content != null && !content.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ListValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/LocationImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/LocationImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/LocationImpl.java	(revision 36)
@@ -0,0 +1,296 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Location</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.LocationImpl#getType <em>Type</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.LocationImpl#getProject <em>Project</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.LocationImpl#getArtifacts <em>Artifacts</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LocationImpl extends ElementImpl implements Location {
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected ArtifactType type;
+
+	/**
+	 * The cached value of the '{@link #getArtifacts() <em>Artifacts</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getArtifacts()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Artifact> artifacts;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LocationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.LOCATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactType getType() {
+		if (type != null && type.eIsProxy()) {
+			InternalEObject oldType = (InternalEObject)type;
+			type = (ArtifactType)eResolveProxy(oldType);
+			if (type != oldType) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.LOCATION__TYPE, oldType, type));
+			}
+		}
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactType basicGetType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(ArtifactType newType) {
+		ArtifactType oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.LOCATION__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Project getProject() {
+		if (eContainerFeatureID() != DECENTPackage.LOCATION__PROJECT) return null;
+		return (Project)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetProject(Project newProject, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newProject, DECENTPackage.LOCATION__PROJECT, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setProject(Project newProject) {
+		if (newProject != eInternalContainer() || (eContainerFeatureID() != DECENTPackage.LOCATION__PROJECT && newProject != null)) {
+			if (EcoreUtil.isAncestor(this, newProject))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newProject != null)
+				msgs = ((InternalEObject)newProject).eInverseAdd(this, DECENTPackage.PROJECT__LOCATION, Project.class, msgs);
+			msgs = basicSetProject(newProject, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.LOCATION__PROJECT, newProject, newProject));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Artifact> getArtifacts() {
+		if (artifacts == null) {
+			artifacts = new EObjectContainmentEList<Artifact>(Artifact.class, this, DECENTPackage.LOCATION__ARTIFACTS);
+		}
+		return artifacts;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.LOCATION__PROJECT:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetProject((Project)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.LOCATION__PROJECT:
+				return basicSetProject(null, msgs);
+			case DECENTPackage.LOCATION__ARTIFACTS:
+				return ((InternalEList<?>)getArtifacts()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case DECENTPackage.LOCATION__PROJECT:
+				return eInternalContainer().eInverseRemove(this, DECENTPackage.PROJECT__LOCATION, Project.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.LOCATION__TYPE:
+				if (resolve) return getType();
+				return basicGetType();
+			case DECENTPackage.LOCATION__PROJECT:
+				return getProject();
+			case DECENTPackage.LOCATION__ARTIFACTS:
+				return getArtifacts();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.LOCATION__TYPE:
+				setType((ArtifactType)newValue);
+				return;
+			case DECENTPackage.LOCATION__PROJECT:
+				setProject((Project)newValue);
+				return;
+			case DECENTPackage.LOCATION__ARTIFACTS:
+				getArtifacts().clear();
+				getArtifacts().addAll((Collection<? extends Artifact>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.LOCATION__TYPE:
+				setType((ArtifactType)null);
+				return;
+			case DECENTPackage.LOCATION__PROJECT:
+				setProject((Project)null);
+				return;
+			case DECENTPackage.LOCATION__ARTIFACTS:
+				getArtifacts().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.LOCATION__TYPE:
+				return type != null;
+			case DECENTPackage.LOCATION__PROJECT:
+				return getProject() != null;
+			case DECENTPackage.LOCATION__ARTIFACTS:
+				return artifacts != null && !artifacts.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //LocationImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ModelImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ModelImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ModelImpl.java	(revision 36)
@@ -0,0 +1,567 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Model;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getContent <em>Content</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getSteps <em>Steps</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getProjects <em>Projects</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getArtifactTypeHierarchy <em>Artifact Type Hierarchy</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getAgentPool <em>Agent Pool</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getAttributePool <em>Attribute Pool</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getActivityTypes <em>Activity Types</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ModelImpl#getDimensions <em>Dimensions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> content;
+
+	/**
+	 * The cached value of the '{@link #getSteps() <em>Steps</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSteps()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Step> steps;
+
+	/**
+	 * The cached value of the '{@link #getProjects() <em>Projects</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProjects()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Project> projects;
+
+	/**
+	 * The cached value of the '{@link #getArtifactTypeHierarchy() <em>Artifact Type Hierarchy</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getArtifactTypeHierarchy()
+	 * @generated
+	 * @ordered
+	 */
+	protected ArtifactTypeHierarchy artifactTypeHierarchy;
+
+	/**
+	 * The cached value of the '{@link #getAgentPool() <em>Agent Pool</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgentPool()
+	 * @generated
+	 * @ordered
+	 */
+	protected AgentPool agentPool;
+
+	/**
+	 * The cached value of the '{@link #getAttributePool() <em>Attribute Pool</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributePool()
+	 * @generated
+	 * @ordered
+	 */
+	protected AttributePool attributePool;
+
+	/**
+	 * The cached value of the '{@link #getActivityTypes() <em>Activity Types</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivityTypes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ActivityType> activityTypes;
+
+	/**
+	 * The cached value of the '{@link #getDimensions() <em>Dimensions</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDimensions()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Dimension> dimensions;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ModelImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.MODEL;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getContent() {
+		if (content == null) {
+			content = new EDataTypeUniqueEList<String>(String.class, this, DECENTPackage.MODEL__CONTENT);
+		}
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Step> getSteps() {
+		if (steps == null) {
+			steps = new EObjectContainmentEList<Step>(Step.class, this, DECENTPackage.MODEL__STEPS);
+		}
+		return steps;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Project> getProjects() {
+		if (projects == null) {
+			projects = new EObjectContainmentEList<Project>(Project.class, this, DECENTPackage.MODEL__PROJECTS);
+		}
+		return projects;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ArtifactTypeHierarchy getArtifactTypeHierarchy() {
+		return artifactTypeHierarchy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetArtifactTypeHierarchy(ArtifactTypeHierarchy newArtifactTypeHierarchy, NotificationChain msgs) {
+		ArtifactTypeHierarchy oldArtifactTypeHierarchy = artifactTypeHierarchy;
+		artifactTypeHierarchy = newArtifactTypeHierarchy;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY, oldArtifactTypeHierarchy, newArtifactTypeHierarchy);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setArtifactTypeHierarchy(ArtifactTypeHierarchy newArtifactTypeHierarchy) {
+		if (newArtifactTypeHierarchy != artifactTypeHierarchy) {
+			NotificationChain msgs = null;
+			if (artifactTypeHierarchy != null)
+				msgs = ((InternalEObject)artifactTypeHierarchy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY, null, msgs);
+			if (newArtifactTypeHierarchy != null)
+				msgs = ((InternalEObject)newArtifactTypeHierarchy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY, null, msgs);
+			msgs = basicSetArtifactTypeHierarchy(newArtifactTypeHierarchy, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY, newArtifactTypeHierarchy, newArtifactTypeHierarchy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AgentPool getAgentPool() {
+		return agentPool;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAgentPool(AgentPool newAgentPool, NotificationChain msgs) {
+		AgentPool oldAgentPool = agentPool;
+		agentPool = newAgentPool;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__AGENT_POOL, oldAgentPool, newAgentPool);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAgentPool(AgentPool newAgentPool) {
+		if (newAgentPool != agentPool) {
+			NotificationChain msgs = null;
+			if (agentPool != null)
+				msgs = ((InternalEObject)agentPool).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DECENTPackage.MODEL__AGENT_POOL, null, msgs);
+			if (newAgentPool != null)
+				msgs = ((InternalEObject)newAgentPool).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DECENTPackage.MODEL__AGENT_POOL, null, msgs);
+			msgs = basicSetAgentPool(newAgentPool, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__AGENT_POOL, newAgentPool, newAgentPool));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AttributePool getAttributePool() {
+		return attributePool;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetAttributePool(AttributePool newAttributePool, NotificationChain msgs) {
+		AttributePool oldAttributePool = attributePool;
+		attributePool = newAttributePool;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__ATTRIBUTE_POOL, oldAttributePool, newAttributePool);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAttributePool(AttributePool newAttributePool) {
+		if (newAttributePool != attributePool) {
+			NotificationChain msgs = null;
+			if (attributePool != null)
+				msgs = ((InternalEObject)attributePool).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DECENTPackage.MODEL__ATTRIBUTE_POOL, null, msgs);
+			if (newAttributePool != null)
+				msgs = ((InternalEObject)newAttributePool).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DECENTPackage.MODEL__ATTRIBUTE_POOL, null, msgs);
+			msgs = basicSetAttributePool(newAttributePool, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.MODEL__ATTRIBUTE_POOL, newAttributePool, newAttributePool));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<ActivityType> getActivityTypes() {
+		if (activityTypes == null) {
+			activityTypes = new EObjectContainmentEList<ActivityType>(ActivityType.class, this, DECENTPackage.MODEL__ACTIVITY_TYPES);
+		}
+		return activityTypes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Dimension> getDimensions() {
+		if (dimensions == null) {
+			dimensions = new EObjectContainmentEList<Dimension>(Dimension.class, this, DECENTPackage.MODEL__DIMENSIONS);
+		}
+		return dimensions;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.MODEL__STEPS:
+				return ((InternalEList<?>)getSteps()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.MODEL__PROJECTS:
+				return ((InternalEList<?>)getProjects()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY:
+				return basicSetArtifactTypeHierarchy(null, msgs);
+			case DECENTPackage.MODEL__AGENT_POOL:
+				return basicSetAgentPool(null, msgs);
+			case DECENTPackage.MODEL__ATTRIBUTE_POOL:
+				return basicSetAttributePool(null, msgs);
+			case DECENTPackage.MODEL__ACTIVITY_TYPES:
+				return ((InternalEList<?>)getActivityTypes()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.MODEL__DIMENSIONS:
+				return ((InternalEList<?>)getDimensions()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.MODEL__NAME:
+				return getName();
+			case DECENTPackage.MODEL__CONTENT:
+				return getContent();
+			case DECENTPackage.MODEL__STEPS:
+				return getSteps();
+			case DECENTPackage.MODEL__PROJECTS:
+				return getProjects();
+			case DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY:
+				return getArtifactTypeHierarchy();
+			case DECENTPackage.MODEL__AGENT_POOL:
+				return getAgentPool();
+			case DECENTPackage.MODEL__ATTRIBUTE_POOL:
+				return getAttributePool();
+			case DECENTPackage.MODEL__ACTIVITY_TYPES:
+				return getActivityTypes();
+			case DECENTPackage.MODEL__DIMENSIONS:
+				return getDimensions();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.MODEL__NAME:
+				setName((String)newValue);
+				return;
+			case DECENTPackage.MODEL__CONTENT:
+				getContent().clear();
+				getContent().addAll((Collection<? extends String>)newValue);
+				return;
+			case DECENTPackage.MODEL__STEPS:
+				getSteps().clear();
+				getSteps().addAll((Collection<? extends Step>)newValue);
+				return;
+			case DECENTPackage.MODEL__PROJECTS:
+				getProjects().clear();
+				getProjects().addAll((Collection<? extends Project>)newValue);
+				return;
+			case DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY:
+				setArtifactTypeHierarchy((ArtifactTypeHierarchy)newValue);
+				return;
+			case DECENTPackage.MODEL__AGENT_POOL:
+				setAgentPool((AgentPool)newValue);
+				return;
+			case DECENTPackage.MODEL__ATTRIBUTE_POOL:
+				setAttributePool((AttributePool)newValue);
+				return;
+			case DECENTPackage.MODEL__ACTIVITY_TYPES:
+				getActivityTypes().clear();
+				getActivityTypes().addAll((Collection<? extends ActivityType>)newValue);
+				return;
+			case DECENTPackage.MODEL__DIMENSIONS:
+				getDimensions().clear();
+				getDimensions().addAll((Collection<? extends Dimension>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.MODEL__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case DECENTPackage.MODEL__CONTENT:
+				getContent().clear();
+				return;
+			case DECENTPackage.MODEL__STEPS:
+				getSteps().clear();
+				return;
+			case DECENTPackage.MODEL__PROJECTS:
+				getProjects().clear();
+				return;
+			case DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY:
+				setArtifactTypeHierarchy((ArtifactTypeHierarchy)null);
+				return;
+			case DECENTPackage.MODEL__AGENT_POOL:
+				setAgentPool((AgentPool)null);
+				return;
+			case DECENTPackage.MODEL__ATTRIBUTE_POOL:
+				setAttributePool((AttributePool)null);
+				return;
+			case DECENTPackage.MODEL__ACTIVITY_TYPES:
+				getActivityTypes().clear();
+				return;
+			case DECENTPackage.MODEL__DIMENSIONS:
+				getDimensions().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.MODEL__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case DECENTPackage.MODEL__CONTENT:
+				return content != null && !content.isEmpty();
+			case DECENTPackage.MODEL__STEPS:
+				return steps != null && !steps.isEmpty();
+			case DECENTPackage.MODEL__PROJECTS:
+				return projects != null && !projects.isEmpty();
+			case DECENTPackage.MODEL__ARTIFACT_TYPE_HIERARCHY:
+				return artifactTypeHierarchy != null;
+			case DECENTPackage.MODEL__AGENT_POOL:
+				return agentPool != null;
+			case DECENTPackage.MODEL__ATTRIBUTE_POOL:
+				return attributePool != null;
+			case DECENTPackage.MODEL__ACTIVITY_TYPES:
+				return activityTypes != null && !activityTypes.isEmpty();
+			case DECENTPackage.MODEL__DIMENSIONS:
+				return dimensions != null && !dimensions.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(", content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ModelImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ProjectImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ProjectImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ProjectImpl.java	(revision 36)
@@ -0,0 +1,202 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Project</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ProjectImpl#getAgents <em>Agents</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ProjectImpl#getLocation <em>Location</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProjectImpl extends ElementImpl implements Project {
+	/**
+	 * The cached value of the '{@link #getAgents() <em>Agents</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAgents()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Agent> agents;
+
+	/**
+	 * The cached value of the '{@link #getLocation() <em>Location</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLocation()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Location> location;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProjectImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.PROJECT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Agent> getAgents() {
+		if (agents == null) {
+			agents = new EObjectWithInverseResolvingEList<Agent>(Agent.class, this, DECENTPackage.PROJECT__AGENTS, DECENTPackage.AGENT__PROJECTS);
+		}
+		return agents;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Location> getLocation() {
+		if (location == null) {
+			location = new EObjectContainmentWithInverseEList<Location>(Location.class, this, DECENTPackage.PROJECT__LOCATION, DECENTPackage.LOCATION__PROJECT);
+		}
+		return location;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.PROJECT__AGENTS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getAgents()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.PROJECT__LOCATION:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getLocation()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.PROJECT__AGENTS:
+				return ((InternalEList<?>)getAgents()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.PROJECT__LOCATION:
+				return ((InternalEList<?>)getLocation()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.PROJECT__AGENTS:
+				return getAgents();
+			case DECENTPackage.PROJECT__LOCATION:
+				return getLocation();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.PROJECT__AGENTS:
+				getAgents().clear();
+				getAgents().addAll((Collection<? extends Agent>)newValue);
+				return;
+			case DECENTPackage.PROJECT__LOCATION:
+				getLocation().clear();
+				getLocation().addAll((Collection<? extends Location>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.PROJECT__AGENTS:
+				getAgents().clear();
+				return;
+			case DECENTPackage.PROJECT__LOCATION:
+				getLocation().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.PROJECT__AGENTS:
+				return agents != null && !agents.isEmpty();
+			case DECENTPackage.PROJECT__LOCATION:
+				return location != null && !location.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ProjectImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StateImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StateImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StateImpl.java	(revision 36)
@@ -0,0 +1,516 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>State</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getArtifact <em>Artifact</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getActivity <em>Activity</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getFromActivity <em>From Activity</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getNext <em>Next</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getPrevious <em>Previous</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getParent <em>Parent</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getChildren <em>Children</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StateImpl#getValues <em>Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StateImpl extends ElementImpl implements State {
+	/**
+	 * The cached value of the '{@link #getActivity() <em>Activity</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivity()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> activity;
+
+	/**
+	 * The cached value of the '{@link #getFromActivity() <em>From Activity</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFromActivity()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Activity> fromActivity;
+
+	/**
+	 * The cached value of the '{@link #getNext() <em>Next</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNext()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<State> next;
+
+	/**
+	 * The cached value of the '{@link #getPrevious() <em>Previous</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPrevious()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<State> previous;
+
+	/**
+	 * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getParent()
+	 * @generated
+	 * @ordered
+	 */
+	protected State parent;
+
+	/**
+	 * The cached value of the '{@link #getChildren() <em>Children</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getChildren()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<State> children;
+
+	/**
+	 * The cached value of the '{@link #getValues() <em>Values</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValues()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Value> values;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.STATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Artifact getArtifact() {
+		if (eContainerFeatureID() != DECENTPackage.STATE__ARTIFACT) return null;
+		return (Artifact)eInternalContainer();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetArtifact(Artifact newArtifact, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newArtifact, DECENTPackage.STATE__ARTIFACT, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setArtifact(Artifact newArtifact) {
+		if (newArtifact != eInternalContainer() || (eContainerFeatureID() != DECENTPackage.STATE__ARTIFACT && newArtifact != null)) {
+			if (EcoreUtil.isAncestor(this, newArtifact))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newArtifact != null)
+				msgs = ((InternalEObject)newArtifact).eInverseAdd(this, DECENTPackage.ARTIFACT__STATES, Artifact.class, msgs);
+			msgs = basicSetArtifact(newArtifact, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.STATE__ARTIFACT, newArtifact, newArtifact));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getActivity() {
+		if (activity == null) {
+			activity = new EObjectWithInverseResolvingEList<Activity>(Activity.class, this, DECENTPackage.STATE__ACTIVITY, DECENTPackage.ACTIVITY__STATE);
+		}
+		return activity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Activity> getFromActivity() {
+		if (fromActivity == null) {
+			fromActivity = new EObjectWithInverseResolvingEList<Activity>(Activity.class, this, DECENTPackage.STATE__FROM_ACTIVITY, DECENTPackage.ACTIVITY__TARGET_STATE);
+		}
+		return fromActivity;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<State> getNext() {
+		if (next == null) {
+			next = new EObjectWithInverseResolvingEList.ManyInverse<State>(State.class, this, DECENTPackage.STATE__NEXT, DECENTPackage.STATE__PREVIOUS);
+		}
+		return next;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<State> getPrevious() {
+		if (previous == null) {
+			previous = new EObjectWithInverseResolvingEList.ManyInverse<State>(State.class, this, DECENTPackage.STATE__PREVIOUS, DECENTPackage.STATE__NEXT);
+		}
+		return previous;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State getParent() {
+		if (parent != null && parent.eIsProxy()) {
+			InternalEObject oldParent = (InternalEObject)parent;
+			parent = (State)eResolveProxy(oldParent);
+			if (parent != oldParent) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.STATE__PARENT, oldParent, parent));
+			}
+		}
+		return parent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public State basicGetParent() {
+		return parent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetParent(State newParent, NotificationChain msgs) {
+		State oldParent = parent;
+		parent = newParent;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DECENTPackage.STATE__PARENT, oldParent, newParent);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParent(State newParent) {
+		if (newParent != parent) {
+			NotificationChain msgs = null;
+			if (parent != null)
+				msgs = ((InternalEObject)parent).eInverseRemove(this, DECENTPackage.STATE__CHILDREN, State.class, msgs);
+			if (newParent != null)
+				msgs = ((InternalEObject)newParent).eInverseAdd(this, DECENTPackage.STATE__CHILDREN, State.class, msgs);
+			msgs = basicSetParent(newParent, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.STATE__PARENT, newParent, newParent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<State> getChildren() {
+		if (children == null) {
+			children = new EObjectWithInverseResolvingEList<State>(State.class, this, DECENTPackage.STATE__CHILDREN, DECENTPackage.STATE__PARENT);
+		}
+		return children;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<Value> getValues() {
+		if (values == null) {
+			values = new EObjectContainmentEList<Value>(Value.class, this, DECENTPackage.STATE__VALUES);
+		}
+		return values;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.STATE__ARTIFACT:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetArtifact((Artifact)otherEnd, msgs);
+			case DECENTPackage.STATE__ACTIVITY:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getActivity()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.STATE__FROM_ACTIVITY:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getFromActivity()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.STATE__NEXT:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getNext()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.STATE__PREVIOUS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getPrevious()).basicAdd(otherEnd, msgs);
+			case DECENTPackage.STATE__PARENT:
+				if (parent != null)
+					msgs = ((InternalEObject)parent).eInverseRemove(this, DECENTPackage.STATE__CHILDREN, State.class, msgs);
+				return basicSetParent((State)otherEnd, msgs);
+			case DECENTPackage.STATE__CHILDREN:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case DECENTPackage.STATE__ARTIFACT:
+				return basicSetArtifact(null, msgs);
+			case DECENTPackage.STATE__ACTIVITY:
+				return ((InternalEList<?>)getActivity()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.STATE__FROM_ACTIVITY:
+				return ((InternalEList<?>)getFromActivity()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.STATE__NEXT:
+				return ((InternalEList<?>)getNext()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.STATE__PREVIOUS:
+				return ((InternalEList<?>)getPrevious()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.STATE__PARENT:
+				return basicSetParent(null, msgs);
+			case DECENTPackage.STATE__CHILDREN:
+				return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
+			case DECENTPackage.STATE__VALUES:
+				return ((InternalEList<?>)getValues()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case DECENTPackage.STATE__ARTIFACT:
+				return eInternalContainer().eInverseRemove(this, DECENTPackage.ARTIFACT__STATES, Artifact.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.STATE__ARTIFACT:
+				return getArtifact();
+			case DECENTPackage.STATE__ACTIVITY:
+				return getActivity();
+			case DECENTPackage.STATE__FROM_ACTIVITY:
+				return getFromActivity();
+			case DECENTPackage.STATE__NEXT:
+				return getNext();
+			case DECENTPackage.STATE__PREVIOUS:
+				return getPrevious();
+			case DECENTPackage.STATE__PARENT:
+				if (resolve) return getParent();
+				return basicGetParent();
+			case DECENTPackage.STATE__CHILDREN:
+				return getChildren();
+			case DECENTPackage.STATE__VALUES:
+				return getValues();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.STATE__ARTIFACT:
+				setArtifact((Artifact)newValue);
+				return;
+			case DECENTPackage.STATE__ACTIVITY:
+				getActivity().clear();
+				getActivity().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case DECENTPackage.STATE__FROM_ACTIVITY:
+				getFromActivity().clear();
+				getFromActivity().addAll((Collection<? extends Activity>)newValue);
+				return;
+			case DECENTPackage.STATE__NEXT:
+				getNext().clear();
+				getNext().addAll((Collection<? extends State>)newValue);
+				return;
+			case DECENTPackage.STATE__PREVIOUS:
+				getPrevious().clear();
+				getPrevious().addAll((Collection<? extends State>)newValue);
+				return;
+			case DECENTPackage.STATE__PARENT:
+				setParent((State)newValue);
+				return;
+			case DECENTPackage.STATE__CHILDREN:
+				getChildren().clear();
+				getChildren().addAll((Collection<? extends State>)newValue);
+				return;
+			case DECENTPackage.STATE__VALUES:
+				getValues().clear();
+				getValues().addAll((Collection<? extends Value>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STATE__ARTIFACT:
+				setArtifact((Artifact)null);
+				return;
+			case DECENTPackage.STATE__ACTIVITY:
+				getActivity().clear();
+				return;
+			case DECENTPackage.STATE__FROM_ACTIVITY:
+				getFromActivity().clear();
+				return;
+			case DECENTPackage.STATE__NEXT:
+				getNext().clear();
+				return;
+			case DECENTPackage.STATE__PREVIOUS:
+				getPrevious().clear();
+				return;
+			case DECENTPackage.STATE__PARENT:
+				setParent((State)null);
+				return;
+			case DECENTPackage.STATE__CHILDREN:
+				getChildren().clear();
+				return;
+			case DECENTPackage.STATE__VALUES:
+				getValues().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STATE__ARTIFACT:
+				return getArtifact() != null;
+			case DECENTPackage.STATE__ACTIVITY:
+				return activity != null && !activity.isEmpty();
+			case DECENTPackage.STATE__FROM_ACTIVITY:
+				return fromActivity != null && !fromActivity.isEmpty();
+			case DECENTPackage.STATE__NEXT:
+				return next != null && !next.isEmpty();
+			case DECENTPackage.STATE__PREVIOUS:
+				return previous != null && !previous.isEmpty();
+			case DECENTPackage.STATE__PARENT:
+				return parent != null;
+			case DECENTPackage.STATE__CHILDREN:
+				return children != null && !children.isEmpty();
+			case DECENTPackage.STATE__VALUES:
+				return values != null && !values.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //StateImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StepImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StepImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StepImpl.java	(revision 36)
@@ -0,0 +1,160 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Step</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StepImpl#getDuration <em>Duration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StepImpl extends ElementImpl implements Step {
+	/**
+	 * The default value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDuration()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DURATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDuration()
+	 * @generated
+	 * @ordered
+	 */
+	protected String duration = DURATION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StepImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.STEP;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDuration() {
+		return duration;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDuration(String newDuration) {
+		String oldDuration = duration;
+		duration = newDuration;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.STEP__DURATION, oldDuration, duration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.STEP__DURATION:
+				return getDuration();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.STEP__DURATION:
+				setDuration((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STEP__DURATION:
+				setDuration(DURATION_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STEP__DURATION:
+				return DURATION_EDEFAULT == null ? duration != null : !DURATION_EDEFAULT.equals(duration);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (duration: ");
+		result.append(duration);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StepImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StringListValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StringListValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StringListValueImpl.java	(revision 36)
@@ -0,0 +1,145 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String List Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StringListValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringListValueImpl extends ValueImpl implements StringListValue {
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> content;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StringListValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.STRING_LIST_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getContent() {
+		if (content == null) {
+			content = new EDataTypeUniqueEList<String>(String.class, this, DECENTPackage.STRING_LIST_VALUE__CONTENT);
+		}
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.STRING_LIST_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.STRING_LIST_VALUE__CONTENT:
+				getContent().clear();
+				getContent().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STRING_LIST_VALUE__CONTENT:
+				getContent().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STRING_LIST_VALUE__CONTENT:
+				return content != null && !content.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StringListValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StringValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StringValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/StringValueImpl.java	(revision 36)
@@ -0,0 +1,160 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.StringValueImpl#getContent <em>Content</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringValueImpl extends ValueImpl implements StringValue {
+	/**
+	 * The default value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONTENT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getContent() <em>Content</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContent()
+	 * @generated
+	 * @ordered
+	 */
+	protected String content = CONTENT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StringValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.STRING_VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getContent() {
+		return content;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContent(String newContent) {
+		String oldContent = content;
+		content = newContent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.STRING_VALUE__CONTENT, oldContent, content));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.STRING_VALUE__CONTENT:
+				return getContent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.STRING_VALUE__CONTENT:
+				setContent((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STRING_VALUE__CONTENT:
+				setContent(CONTENT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.STRING_VALUE__CONTENT:
+				return CONTENT_EDEFAULT == null ? content != null : !CONTENT_EDEFAULT.equals(content);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (content: ");
+		result.append(content);
+		result.append(')');
+		return result.toString();
+	}
+
+} //StringValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ValueImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ValueImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/impl/ValueImpl.java	(revision 36)
@@ -0,0 +1,223 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ValueImpl#getName <em>Name</em>}</li>
+ *   <li>{@link de.ugoe.cs.cpdp.decentApp.models.decent.impl.ValueImpl#getOfAttribute <em>Of Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ValueImpl extends MinimalEObjectImpl.Container implements Value {
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getOfAttribute() <em>Of Attribute</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOfAttribute()
+	 * @generated
+	 * @ordered
+	 */
+	protected Attribute ofAttribute;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ValueImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return DECENTPackage.Literals.VALUE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.VALUE__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute getOfAttribute() {
+		if (ofAttribute != null && ofAttribute.eIsProxy()) {
+			InternalEObject oldOfAttribute = (InternalEObject)ofAttribute;
+			ofAttribute = (Attribute)eResolveProxy(oldOfAttribute);
+			if (ofAttribute != oldOfAttribute) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, DECENTPackage.VALUE__OF_ATTRIBUTE, oldOfAttribute, ofAttribute));
+			}
+		}
+		return ofAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Attribute basicGetOfAttribute() {
+		return ofAttribute;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOfAttribute(Attribute newOfAttribute) {
+		Attribute oldOfAttribute = ofAttribute;
+		ofAttribute = newOfAttribute;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, DECENTPackage.VALUE__OF_ATTRIBUTE, oldOfAttribute, ofAttribute));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case DECENTPackage.VALUE__NAME:
+				return getName();
+			case DECENTPackage.VALUE__OF_ATTRIBUTE:
+				if (resolve) return getOfAttribute();
+				return basicGetOfAttribute();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case DECENTPackage.VALUE__NAME:
+				setName((String)newValue);
+				return;
+			case DECENTPackage.VALUE__OF_ATTRIBUTE:
+				setOfAttribute((Attribute)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.VALUE__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case DECENTPackage.VALUE__OF_ATTRIBUTE:
+				setOfAttribute((Attribute)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case DECENTPackage.VALUE__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case DECENTPackage.VALUE__OF_ATTRIBUTE:
+				return ofAttribute != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (name: ");
+		result.append(name);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ValueImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTAdapterFactory.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTAdapterFactory.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTAdapterFactory.java	(revision 36)
@@ -0,0 +1,596 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.util;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.*;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Element;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Model;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage
+ * @generated
+ */
+public class DECENTAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DECENTPackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = DECENTPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DECENTSwitch<Adapter> modelSwitch =
+		new DECENTSwitch<Adapter>() {
+			@Override
+			public Adapter caseModel(Model object) {
+				return createModelAdapter();
+			}
+			@Override
+			public Adapter caseElement(Element object) {
+				return createElementAdapter();
+			}
+			@Override
+			public Adapter caseStep(Step object) {
+				return createStepAdapter();
+			}
+			@Override
+			public Adapter caseAgentPool(AgentPool object) {
+				return createAgentPoolAdapter();
+			}
+			@Override
+			public Adapter caseAttributePool(AttributePool object) {
+				return createAttributePoolAdapter();
+			}
+			@Override
+			public Adapter caseArtifactTypeHierarchy(ArtifactTypeHierarchy object) {
+				return createArtifactTypeHierarchyAdapter();
+			}
+			@Override
+			public Adapter caseArtifactType(ArtifactType object) {
+				return createArtifactTypeAdapter();
+			}
+			@Override
+			public Adapter caseProject(Project object) {
+				return createProjectAdapter();
+			}
+			@Override
+			public Adapter caseAgent(Agent object) {
+				return createAgentAdapter();
+			}
+			@Override
+			public Adapter caseAgentState(AgentState object) {
+				return createAgentStateAdapter();
+			}
+			@Override
+			public Adapter caseLocation(Location object) {
+				return createLocationAdapter();
+			}
+			@Override
+			public Adapter caseArtifact(Artifact object) {
+				return createArtifactAdapter();
+			}
+			@Override
+			public Adapter caseState(State object) {
+				return createStateAdapter();
+			}
+			@Override
+			public Adapter caseActivity(Activity object) {
+				return createActivityAdapter();
+			}
+			@Override
+			public Adapter caseActivityType(ActivityType object) {
+				return createActivityTypeAdapter();
+			}
+			@Override
+			public Adapter caseDimension(Dimension object) {
+				return createDimensionAdapter();
+			}
+			@Override
+			public Adapter caseAttribute(Attribute object) {
+				return createAttributeAdapter();
+			}
+			@Override
+			public Adapter caseValue(Value object) {
+				return createValueAdapter();
+			}
+			@Override
+			public Adapter caseIntegerValue(IntegerValue object) {
+				return createIntegerValueAdapter();
+			}
+			@Override
+			public Adapter caseDoubleValue(DoubleValue object) {
+				return createDoubleValueAdapter();
+			}
+			@Override
+			public Adapter caseStringValue(StringValue object) {
+				return createStringValueAdapter();
+			}
+			@Override
+			public Adapter caseListValue(ListValue object) {
+				return createListValueAdapter();
+			}
+			@Override
+			public Adapter caseStringListValue(StringListValue object) {
+				return createStringListValueAdapter();
+			}
+			@Override
+			public Adapter caseDoubleListValue(DoubleListValue object) {
+				return createDoubleListValueAdapter();
+			}
+			@Override
+			public Adapter caseIntegerListValue(IntegerListValue object) {
+				return createIntegerListValueAdapter();
+			}
+			@Override
+			public Adapter caseDelta(Delta object) {
+				return createDeltaAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Model <em>Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Model
+	 * @generated
+	 */
+	public Adapter createModelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Element <em>Element</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Element
+	 * @generated
+	 */
+	public Adapter createElementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Step <em>Step</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Step
+	 * @generated
+	 */
+	public Adapter createStepAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool <em>Agent Pool</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool
+	 * @generated
+	 */
+	public Adapter createAgentPoolAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool <em>Attribute Pool</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool
+	 * @generated
+	 */
+	public Adapter createAttributePoolAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy <em>Artifact Type Hierarchy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy
+	 * @generated
+	 */
+	public Adapter createArtifactTypeHierarchyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType <em>Artifact Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType
+	 * @generated
+	 */
+	public Adapter createArtifactTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Project <em>Project</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Project
+	 * @generated
+	 */
+	public Adapter createProjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Agent <em>Agent</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Agent
+	 * @generated
+	 */
+	public Adapter createAgentAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.AgentState <em>Agent State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.AgentState
+	 * @generated
+	 */
+	public Adapter createAgentStateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Location <em>Location</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Location
+	 * @generated
+	 */
+	public Adapter createLocationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Artifact <em>Artifact</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Artifact
+	 * @generated
+	 */
+	public Adapter createArtifactAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.State <em>State</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.State
+	 * @generated
+	 */
+	public Adapter createStateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Activity <em>Activity</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Activity
+	 * @generated
+	 */
+	public Adapter createActivityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType <em>Activity Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType
+	 * @generated
+	 */
+	public Adapter createActivityTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Dimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Dimension
+	 * @generated
+	 */
+	public Adapter createDimensionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Attribute <em>Attribute</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Attribute
+	 * @generated
+	 */
+	public Adapter createAttributeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Value <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Value
+	 * @generated
+	 */
+	public Adapter createValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue <em>Integer Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue
+	 * @generated
+	 */
+	public Adapter createIntegerValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue <em>Double Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue
+	 * @generated
+	 */
+	public Adapter createDoubleValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringValue <em>String Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.StringValue
+	 * @generated
+	 */
+	public Adapter createStringValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.ListValue <em>List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.ListValue
+	 * @generated
+	 */
+	public Adapter createListValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue <em>String List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue
+	 * @generated
+	 */
+	public Adapter createStringListValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue <em>Double List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue
+	 * @generated
+	 */
+	public Adapter createDoubleListValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue <em>Integer List Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue
+	 * @generated
+	 */
+	public Adapter createIntegerListValueAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link de.ugoe.cs.cpdp.decentApp.models.decent.Delta <em>Delta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see de.ugoe.cs.cpdp.decentApp.models.decent.Delta
+	 * @generated
+	 */
+	public Adapter createDeltaAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //DECENTAdapterFactory
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTResourceFactoryImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTResourceFactoryImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTResourceFactoryImpl.java	(revision 36)
@@ -0,0 +1,41 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.util.DECENTResourceImpl
+ * @generated
+ */
+public class DECENTResourceFactoryImpl extends ResourceFactoryImpl {
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		Resource result = new DECENTResourceImpl(uri);
+		return result;
+	}
+
+} //DECENTResourceFactoryImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTResourceImpl.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTResourceImpl.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTResourceImpl.java	(revision 36)
@@ -0,0 +1,28 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.util.DECENTResourceFactoryImpl
+ * @generated
+ */
+public class DECENTResourceImpl extends XMIResourceImpl {
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param uri the URI of the new resource.
+	 * @generated
+	 */
+	public DECENTResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} //DECENTResourceImpl
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTSwitch.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTSwitch.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTSwitch.java	(revision 36)
@@ -0,0 +1,681 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.util;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Element;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Model;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage
+ * @generated
+ */
+public class DECENTSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static DECENTPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTSwitch() {
+		if (modelPackage == null) {
+			modelPackage = DECENTPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case DECENTPackage.MODEL: {
+				Model model = (Model)theEObject;
+				T result = caseModel(model);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ELEMENT: {
+				Element element = (Element)theEObject;
+				T result = caseElement(element);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.STEP: {
+				Step step = (Step)theEObject;
+				T result = caseStep(step);
+				if (result == null) result = caseElement(step);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.AGENT_POOL: {
+				AgentPool agentPool = (AgentPool)theEObject;
+				T result = caseAgentPool(agentPool);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ATTRIBUTE_POOL: {
+				AttributePool attributePool = (AttributePool)theEObject;
+				T result = caseAttributePool(attributePool);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY: {
+				ArtifactTypeHierarchy artifactTypeHierarchy = (ArtifactTypeHierarchy)theEObject;
+				T result = caseArtifactTypeHierarchy(artifactTypeHierarchy);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ARTIFACT_TYPE: {
+				ArtifactType artifactType = (ArtifactType)theEObject;
+				T result = caseArtifactType(artifactType);
+				if (result == null) result = caseElement(artifactType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.PROJECT: {
+				Project project = (Project)theEObject;
+				T result = caseProject(project);
+				if (result == null) result = caseElement(project);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.AGENT: {
+				Agent agent = (Agent)theEObject;
+				T result = caseAgent(agent);
+				if (result == null) result = caseElement(agent);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.AGENT_STATE: {
+				AgentState agentState = (AgentState)theEObject;
+				T result = caseAgentState(agentState);
+				if (result == null) result = caseElement(agentState);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.LOCATION: {
+				Location location = (Location)theEObject;
+				T result = caseLocation(location);
+				if (result == null) result = caseElement(location);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ARTIFACT: {
+				Artifact artifact = (Artifact)theEObject;
+				T result = caseArtifact(artifact);
+				if (result == null) result = caseElement(artifact);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.STATE: {
+				State state = (State)theEObject;
+				T result = caseState(state);
+				if (result == null) result = caseElement(state);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ACTIVITY: {
+				Activity activity = (Activity)theEObject;
+				T result = caseActivity(activity);
+				if (result == null) result = caseElement(activity);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ACTIVITY_TYPE: {
+				ActivityType activityType = (ActivityType)theEObject;
+				T result = caseActivityType(activityType);
+				if (result == null) result = caseElement(activityType);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.DIMENSION: {
+				Dimension dimension = (Dimension)theEObject;
+				T result = caseDimension(dimension);
+				if (result == null) result = caseElement(dimension);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.ATTRIBUTE: {
+				Attribute attribute = (Attribute)theEObject;
+				T result = caseAttribute(attribute);
+				if (result == null) result = caseElement(attribute);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.VALUE: {
+				Value value = (Value)theEObject;
+				T result = caseValue(value);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.INTEGER_VALUE: {
+				IntegerValue integerValue = (IntegerValue)theEObject;
+				T result = caseIntegerValue(integerValue);
+				if (result == null) result = caseValue(integerValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.DOUBLE_VALUE: {
+				DoubleValue doubleValue = (DoubleValue)theEObject;
+				T result = caseDoubleValue(doubleValue);
+				if (result == null) result = caseValue(doubleValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.STRING_VALUE: {
+				StringValue stringValue = (StringValue)theEObject;
+				T result = caseStringValue(stringValue);
+				if (result == null) result = caseValue(stringValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.LIST_VALUE: {
+				ListValue listValue = (ListValue)theEObject;
+				T result = caseListValue(listValue);
+				if (result == null) result = caseValue(listValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.STRING_LIST_VALUE: {
+				StringListValue stringListValue = (StringListValue)theEObject;
+				T result = caseStringListValue(stringListValue);
+				if (result == null) result = caseValue(stringListValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.DOUBLE_LIST_VALUE: {
+				DoubleListValue doubleListValue = (DoubleListValue)theEObject;
+				T result = caseDoubleListValue(doubleListValue);
+				if (result == null) result = caseValue(doubleListValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.INTEGER_LIST_VALUE: {
+				IntegerListValue integerListValue = (IntegerListValue)theEObject;
+				T result = caseIntegerListValue(integerListValue);
+				if (result == null) result = caseValue(integerListValue);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case DECENTPackage.DELTA: {
+				Delta delta = (Delta)theEObject;
+				T result = caseDelta(delta);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Model</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseModel(Model object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Element</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseElement(Element object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Step</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Step</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStep(Step object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Agent Pool</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Agent Pool</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgentPool(AgentPool object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Attribute Pool</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Attribute Pool</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAttributePool(AttributePool object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Artifact Type Hierarchy</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Artifact Type Hierarchy</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseArtifactTypeHierarchy(ArtifactTypeHierarchy object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Artifact Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Artifact Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseArtifactType(ArtifactType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Project</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Project</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProject(Project object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Agent</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Agent</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgent(Agent object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Agent State</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Agent State</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAgentState(AgentState object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Location</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Location</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLocation(Location object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Artifact</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Artifact</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseArtifact(Artifact object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>State</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>State</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseState(State object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Activity</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Activity</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseActivity(Activity object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Activity Type</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Activity Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseActivityType(ActivityType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dimension</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dimension</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDimension(Dimension object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Attribute</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Attribute</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAttribute(Attribute object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseValue(Value object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Integer Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Integer Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIntegerValue(IntegerValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Double Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Double Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDoubleValue(DoubleValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>String Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>String Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStringValue(StringValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>List Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseListValue(ListValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>String List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>String List Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStringListValue(StringListValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Double List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Double List Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDoubleListValue(DoubleListValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Integer List Value</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Integer List Value</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseIntegerListValue(IntegerListValue object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Delta</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Delta</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDelta(Delta object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //DECENTSwitch
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTValidator.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTValidator.java	(revision 36)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/decentApp/models/decent/util/DECENTValidator.java	(revision 36)
@@ -0,0 +1,459 @@
+/**
+ */
+package de.ugoe.cs.cpdp.decentApp.models.decent.util;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.*;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import de.ugoe.cs.cpdp.decentApp.models.decent.Activity;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ActivityType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Agent;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentPool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AgentState;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Artifact;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactType;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ArtifactTypeHierarchy;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Attribute;
+import de.ugoe.cs.cpdp.decentApp.models.decent.AttributePool;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Delta;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Dimension;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.DoubleValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Element;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.IntegerValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.ListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Location;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Model;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Project;
+import de.ugoe.cs.cpdp.decentApp.models.decent.State;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Step;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringListValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.StringValue;
+import de.ugoe.cs.cpdp.decentApp.models.decent.Value;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see de.ugoe.cs.cpdp.decentApp.models.decent.DECENTPackage
+ * @generated
+ */
+public class DECENTValidator extends EObjectValidator {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final DECENTValidator INSTANCE = new DECENTValidator();
+
+	/**
+	 * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+	 * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+	 * @generated
+	 */
+	public static final String DIAGNOSTIC_SOURCE = "DECENT";
+
+	/**
+	 * A constant with a fixed name that can be used as the base value for additional hand written constants.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;
+
+	/**
+	 * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DECENTValidator() {
+		super();
+	}
+
+	/**
+	 * Returns the package of this validator switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EPackage getEPackage() {
+	  return DECENTPackage.eINSTANCE;
+	}
+
+	/**
+	 * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		switch (classifierID) {
+			case DECENTPackage.MODEL:
+				return validateModel((Model)value, diagnostics, context);
+			case DECENTPackage.ELEMENT:
+				return validateElement((Element)value, diagnostics, context);
+			case DECENTPackage.STEP:
+				return validateStep((Step)value, diagnostics, context);
+			case DECENTPackage.AGENT_POOL:
+				return validateAgentPool((AgentPool)value, diagnostics, context);
+			case DECENTPackage.ATTRIBUTE_POOL:
+				return validateAttributePool((AttributePool)value, diagnostics, context);
+			case DECENTPackage.ARTIFACT_TYPE_HIERARCHY:
+				return validateArtifactTypeHierarchy((ArtifactTypeHierarchy)value, diagnostics, context);
+			case DECENTPackage.ARTIFACT_TYPE:
+				return validateArtifactType((ArtifactType)value, diagnostics, context);
+			case DECENTPackage.PROJECT:
+				return validateProject((Project)value, diagnostics, context);
+			case DECENTPackage.AGENT:
+				return validateAgent((Agent)value, diagnostics, context);
+			case DECENTPackage.AGENT_STATE:
+				return validateAgentState((AgentState)value, diagnostics, context);
+			case DECENTPackage.LOCATION:
+				return validateLocation((Location)value, diagnostics, context);
+			case DECENTPackage.ARTIFACT:
+				return validateArtifact((Artifact)value, diagnostics, context);
+			case DECENTPackage.STATE:
+				return validateState((State)value, diagnostics, context);
+			case DECENTPackage.ACTIVITY:
+				return validateActivity((Activity)value, diagnostics, context);
+			case DECENTPackage.ACTIVITY_TYPE:
+				return validateActivityType((ActivityType)value, diagnostics, context);
+			case DECENTPackage.DIMENSION:
+				return validateDimension((Dimension)value, diagnostics, context);
+			case DECENTPackage.ATTRIBUTE:
+				return validateAttribute((Attribute)value, diagnostics, context);
+			case DECENTPackage.VALUE:
+				return validateValue((Value)value, diagnostics, context);
+			case DECENTPackage.INTEGER_VALUE:
+				return validateIntegerValue((IntegerValue)value, diagnostics, context);
+			case DECENTPackage.DOUBLE_VALUE:
+				return validateDoubleValue((DoubleValue)value, diagnostics, context);
+			case DECENTPackage.STRING_VALUE:
+				return validateStringValue((StringValue)value, diagnostics, context);
+			case DECENTPackage.LIST_VALUE:
+				return validateListValue((ListValue)value, diagnostics, context);
+			case DECENTPackage.STRING_LIST_VALUE:
+				return validateStringListValue((StringListValue)value, diagnostics, context);
+			case DECENTPackage.DOUBLE_LIST_VALUE:
+				return validateDoubleListValue((DoubleListValue)value, diagnostics, context);
+			case DECENTPackage.INTEGER_LIST_VALUE:
+				return validateIntegerListValue((IntegerListValue)value, diagnostics, context);
+			case DECENTPackage.DELTA:
+				return validateDelta((Delta)value, diagnostics, context);
+			default:
+				return true;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateModel(Model model, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(model, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateElement(Element element, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(element, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateStep(Step step, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(step, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateAgentPool(AgentPool agentPool, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(agentPool, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateAttributePool(AttributePool attributePool, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(attributePool, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateArtifactTypeHierarchy(ArtifactTypeHierarchy artifactTypeHierarchy, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(artifactTypeHierarchy, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateArtifactType(ArtifactType artifactType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(artifactType, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateProject(Project project, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(project, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateAgent(Agent agent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(agent, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateAgentState(AgentState agentState, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(agentState, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateLocation(Location location, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(location, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateArtifact(Artifact artifact, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		if (!validate_NoCircularContainment(artifact, diagnostics, context)) return false;
+		boolean result = validate_EveryMultiplicityConforms(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryDataValueConforms(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryProxyResolves(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_UniqueID(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryKeyUnique(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(artifact, diagnostics, context);
+		if (result || diagnostics != null) result &= validateArtifact_typeHierarchy(artifact, diagnostics, context);
+		return result;
+	}
+
+	/**
+	 * The cached validation expression for the typeHierarchy constraint of '<em>Artifact</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static final String ARTIFACT__TYPE_HIERARCHY__EEXPRESSION = "type.containerTypes->includes(parent.type) or parent = null";
+
+	/**
+	 * Validates the typeHierarchy constraint of '<em>Artifact</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateArtifact_typeHierarchy(Artifact artifact, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return
+			validate
+				(DECENTPackage.Literals.ARTIFACT,
+				 artifact,
+				 diagnostics,
+				 context,
+				 "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot",
+				 "typeHierarchy",
+				 ARTIFACT__TYPE_HIERARCHY__EEXPRESSION,
+				 Diagnostic.ERROR,
+				 DIAGNOSTIC_SOURCE,
+				 0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateState(State state, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(state, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateActivity(Activity activity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(activity, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateActivityType(ActivityType activityType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(activityType, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateDimension(Dimension dimension, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(dimension, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateAttribute(Attribute attribute, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(attribute, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateValue(Value value, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(value, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateIntegerValue(IntegerValue integerValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(integerValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateDoubleValue(DoubleValue doubleValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(doubleValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateStringValue(StringValue stringValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(stringValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateListValue(ListValue listValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(listValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateStringListValue(StringListValue stringListValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(stringListValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateDoubleListValue(DoubleListValue doubleListValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(doubleListValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateIntegerListValue(IntegerListValue integerListValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(integerListValue, diagnostics, context);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean validateDelta(Delta delta, DiagnosticChain diagnostics, Map<Object, Object> context) {
+		return validate_EveryDefaultConstraint(delta, diagnostics, context);
+	}
+
+	/**
+	 * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		// TODO
+		// Specialize this to return a resource locator for messages specific to this validator.
+		// Ensure that you remove @generated or mark it @generated NOT
+		return super.getResourceLocator();
+	}
+
+} //DECENTValidator
Index: trunk/CrossPare/src/de/ugoe/cs/cpdp/loader/DecentDataLoader.java
===================================================================
--- trunk/CrossPare/src/de/ugoe/cs/cpdp/loader/DecentDataLoader.java	(revision 35)
+++ trunk/CrossPare/src/de/ugoe/cs/cpdp/loader/DecentDataLoader.java	(revision 36)
@@ -26,7 +26,7 @@
 import org.eclipse.epsilon.etl.EtlModule;
 
-import ARFFx.Instance;
-import ARFFx.Model;
-import ARFFx.Value;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Instance;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Model;
+import de.ugoe.cs.cpdp.decentApp.models.arffx.Value;
 import de.ugoe.cs.cpdp.decentApp.ARFFxResourceTool;
 import de.ugoe.cs.cpdp.decentApp.DECENTEpsilonModelHandler;
@@ -313,5 +313,5 @@
 		// Bad solution, can be enhanced (continue in for loop)
 		ArrayList<Attribute> datasetAttributes = new  ArrayList<Attribute>();
-		for(ARFFx.Attribute attribute :m.getAttributes()) {
+		for(de.ugoe.cs.cpdp.decentApp.models.arffx.Attribute attribute :m.getAttributes()) {
 			String attributeName = attribute.getName();
 
